it技術:データベース:postgresql:oracleからの移行
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
it技術:データベース:postgresql:oracleからの移行 [2021/12/27 09:32] – [データ型] yajuadmin | it技術:データベース:postgresql:oracleからの移行 [2023/12/18 13:16] (現在) – [データ型] yajuadmin | ||
---|---|---|---|
行 11: | 行 11: | ||
|SYSDATE|current_timestamp | |SYSDATE|current_timestamp | ||
|ROWID|oid|32bit(約43億)で一周してしまう|Create文でWITH OIDSと設定しないと使用できない、PostgreSQL12以降はWITH OIDS廃止| | |ROWID|oid|32bit(約43億)で一周してしまう|Create文でWITH OIDSと設定しないと使用できない、PostgreSQL12以降はWITH OIDS廃止| | ||
+ | | |ctid|ROWIDに相当|バキューム処理によって ctid が変更される可能性があります。| | ||
参照:[[http:// | 参照:[[http:// | ||
行 115: | 行 116: | ||
</ | </ | ||
+ | TABLEを作成するよりVIEWにする方が一般的。\\ | ||
+ | [[https:// | ||
+ | |||
+ | <code sql> | ||
+ | CREATE VIEW dual AS | ||
+ | SELECT ' | ||
+ | </ | ||
行 174: | 行 182: | ||
WHERE MGR_ID IS NOT NULL; | WHERE MGR_ID IS NOT NULL; | ||
</ | </ | ||
+ | ==== DELETE文のFROM句にJOINが使えない ==== | ||
+ | USING句やIN句に変更する。\\ | ||
+ | [[https:// | ||
+ | |||
+ | ==== MERGE文サポート(PostgreSQL 15以降) ==== | ||
+ | PostgreSQL 15でMERGE文がサポートされました。 | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
==== 集合演算 ==== | ==== 集合演算 ==== | ||
UNION句、INTERSEC句での変更はない。ただし、OracleのMINUS句は、PostgreSQLではEXCEPT句に変更する必要がある。\\ | UNION句、INTERSEC句での変更はない。ただし、OracleのMINUS句は、PostgreSQLではEXCEPT句に変更する必要がある。\\ | ||
行 206: | 行 224: | ||
WHERE AA = xxx AND AB = xxx AND AC = xxx AND AD = xxx | WHERE AA = xxx AND AB = xxx AND AC = xxx AND AD = xxx | ||
</ | </ | ||
+ | |||
+ | === bloomインデックスを使用する === | ||
+ | 主キーが複数の場合のインデックスにはデフォルトのb-treeインデックスが使用されるが、弱点として先頭のキーが外れるとインデックスが使われなくなる。その場合に複数列インデックスには、bloomインデックスを使用することで、先頭のキーが条件が外れていてもインデックスが使われる。\\ | ||
+ | [[https:// | ||
==== ダブルパイプ結合したインデックスは作成できない ==== | ==== ダブルパイプ結合したインデックスは作成できない ==== |
it技術/データベース/postgresql/oracleからの移行.1640565174.txt.gz · 最終更新: 2021/12/27 09:32 by yajuadmin