ユーザ用ツール

サイト用ツール


it技術:データベース:postgresql:oracleからの移行

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
it技術:データベース:postgresql:oracleからの移行 [2021/12/27 09:32] – [データ型] yajuadminit技術:データベース:postgresql:oracleからの移行 [2023/12/18 11:58] – [複合インデックスの指定方法] yajuadmin
行 115: 行 115:
 </code> </code>
  
 +TABLEを作成するよりVIEWにする方が一般的。\\
 +[[https://thinkit.co.jp/cert/marugoto/2/1/21/2.htm|PostgreSQLとOracleによるデータベース相互移行マニュアル - ThinkIT]]
 +
 +<code sql>
 +CREATE VIEW dual AS
 +  SELECT 'X' AS DUMMY;
 +</code>
  
  
行 174: 行 181:
    WHERE MGR_ID IS NOT NULL;    WHERE MGR_ID IS NOT NULL;
 </code> </code>
 +==== DELETE文のFROM句にJOINが使えない ====
 +USING句やIN句に変更する。\\
 +[[https://kailo.jp/post/10|PostgreSQLでJOINした結果をDELETEする]]
 +
 +==== MERGE文サポート(PostgreSQL 15以降) ====
 +PostgreSQL 15でMERGE文がサポートされました。
 +
 +  * [[https://www.sraoss.co.jp/tech-blog/wp-content/uploads/2022/09/pg15_report_20220906_rev2.pdf|PostgreSQL15 検証レポート - pdf]]
 +  * [[https://dev.classmethod.jp/articles/postgresql15-suppoerts-merge-syntax-upsert/|PostgreSQL 15にMERGE文UPSERTがやってくる]]
 +
 ==== 集合演算 ==== ==== 集合演算 ====
 UNION句、INTERSEC句での変更はない。ただし、OracleのMINUS句は、PostgreSQLではEXCEPT句に変更する必要がある。\\ UNION句、INTERSEC句での変更はない。ただし、OracleのMINUS句は、PostgreSQLではEXCEPT句に変更する必要がある。\\
行 206: 行 223:
 WHERE AA = xxx AND AB = xxx AND AC = xxx AND AD = xxx WHERE AA = xxx AND AB = xxx AND AC = xxx AND AD = xxx
 </code> </code>
 +
 +=== bloomインデックスを使用する ===
 +主キーが複数の場合のインデックスにはデフォルトのb-treeインデックスが使用されるが、弱点として先頭のキーが外れるとインデックスが使われなくなる。その場合に複数列インデックスには、bloomインデックスを使用することで、先頭のキーが条件が外れていてもインデックスが使われる。\\
 +[[https://qiita.com/nuko_yokohama/items/4a7fe2a731a479189034|bloomインデックス]]
  
 ==== ダブルパイプ結合したインデックスは作成できない ==== ==== ダブルパイプ結合したインデックスは作成できない ====
it技術/データベース/postgresql/oracleからの移行.txt · 最終更新: 2023/12/18 13:16 by yajuadmin