ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.2.77 システム列を外部キー要素として使用できないように変更

非互換

システム列を外部キーの要素として指定した場合、エラーになります。

Fujitsu Enterprise Postgres 15以前の場合

Fujitsu Enterprise Postgres 15では、CREATE TABLE FKTABLE_FAIL3で成功します。

[例]
[postgres@VM00044044 ~]$ /opt/fsepv15server64/bin/psql
psql (15.0)
"help" for help.
postgres=# CREATE TABLE PKTABLE1 (ptest1 int, someoid oid PRIMARY KEY);
CREATE TABLE
postgres=# CREATE TABLE FKTABLE_FAIL3 ( ftest1 int, CONSTRAINT fkfail1 FOREIGN KEY (tableoid) REFERENCES PKTABLE1(someoid));
CREATE TABLE
postgres=#
Fujitsu Enterprise Postgres 16の場合

Fujitsu Enterprise Postgres 16では、CREATE TABLE FKTABLE_FAIL3でエラーになります。

[例]
[postgres@VM00057125 ~]$ /opt/fsepv16server64/bin/psql
psql (16devel)
Type "help" for help.

postgres=# CREATE TABLE PKTABLE1 (ptest1 int, someoid oid PRIMARY KEY);
CREATE TABLE
postgres=# CREATE TABLE FKTABLE_FAIL3 ( ftest1 int, CONSTRAINT fkfail1 FOREIGN KEY (tableoid) REFERENCES PKTABLE1(someoid);
ERROR: System column cannot be used for foreign key

対処方法

ありません。