非互換
これまでテーブル作成時にWITH OIDSで隠しoid列を持たせる指定ができましたが、FUJITSU Enterprise Postgres 12ではこの機能が廃止されました。なお、引き続き、テーブルに明示的にoid型の列を含めることは可能です。
隠しoid列を持っていたシステムカタログは、通常のoid列を持つようになります。その結果「SELECT * …」で、これまで明示的に選択しないと出力されなかったoid列が出力されるようになります。
テーブルを作成するときに「WITH OIDS」が指定できます。
[例]
=# CREATE TABLE tb1(id int) WITH OIDS; CREATE TABLE
oid列を持っていたシステムカタログは、oid列が出力されません。
[例]
=# SELECT * FROM pg_tablespace; spcname | spcowner | spcacl | spcoptions ------------+----------+--------+------------ pg_default | 10 | | pg_global | 10 | |
テーブルを作成するときに「WITH OIDS」が指定できません。
[例]
=# CREATE TABLE tb1(id int) WITH OIDS; ERROR: syntax error at or near "OIDS" LINE 1: CREATE TABLE tb1(id int) WITH OIDS; ^
oid列を持っていたシステムカタログは、oid列が出力されます。
[例] =# SELECT * FROM pg_tablespace; oid | spcname | spcowner | spcacl | spcoptions ------+------------+----------+--------+------------ 1663 | pg_default | 10 | | 1664 | pg_global | 10 | |
対処方法
ありません。