非互換
継承テーブルとパーティションテーブルについて、親テーブルと子テーブルの生成列の有無のチェックを強化します。親テーブルの列が生成列の場合には、子テーブルも生成列である必要があります。また、親テーブルの列が生成列でない場合には、子テーブルは生成列でない必要があります。
postgres=# CREATE TABLE gtest_parent (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS (f2 * 2) STORED) PARTITION BY RANGE (f1); CREATE TABLE postgres=# CREATE TABLE gtest_child3 PARTITION OF gtest_parent ( postgres(# f3 DEFAULT 42 postgres(# ) FOR VALUES FROM ('2016-09-01') TO ('2016-10-01'); CREATE TABLE
postgres=# CREATE TABLE gtest_parent (f1 date NOT NULL, f2 bigint, f3 bigint GENERATED ALWAYS AS (f2 * 2) STORED) PARTITION BY RANGE (f1); CREATE TABLE postgres=# CREATE TABLE gtest_child3 PARTITION OF gtest_parent ( postgres(# f3 DEFAULT 42 postgres(# ) FOR VALUES FROM ('2016-09-01') TO ('2016-10-01'); ERROR: column "f3" inherits from generated column but specifies default
対処方法
ありません。