非互換
FUJITSU Enterprise Postgres 14では、下記の場合、「ALTER TABLE...INHERIT」が実施できないように変更します。
親テーブルに生成列が含まれている、かつ
子テーブルに生成列が含まれていない
親テーブルに生成列が含まれている、かつ
子テーブルに生成列が含まれている、かつ
親テーブルに生成列と子テーブルに生成列の計算式が異なる
「ALTER TABLE...INHERIT」が実施できます。
[例]
=# CREATE TABLE gtest_p (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); CREATE TABLE =# CREATE TABLE gtest_c (a int NOT NULL, b int); CREATE TABLE =# ALTER TABLE gtest_c INHERIT gtest_p; ALTER TABLE
「ALTER TABLE...INHERIT」が実施できません。
[例]
=# CREATE TABLE gtest_p (a int PRIMARY KEY, b int GENERATED ALWAYS AS (a * 2) STORED); CREATE TABLE =# CREATE TABLE gtest_c (a int NOT NULL, b int); CREATE TABLE =# ALTER TABLE gtest_c INHERIT gtest_p; ERROR: column "b" in child table must be a generated column
対処方法
ありません。