非互換
生成列の値が正しく更新されるように修正しました。
postgres=# CREATE TABLE gtestp (f1 int); CREATE TABLE postgres=# CREATE TABLE gtestc (f2 int GENERATED ALWAYS AS (f1+1) STORED) INHERITS(gtestp); CREATE TABLE postgres=# INSERT INTO gtestc values(42); INSERT 0 1 postgres=# TABLE gtestc; f1 | f2 ----+---- 42 | 43 (1 row) postgres=# UPDATE gtestp SET f1 = f1 * 10; UPDATE 1 postgres=# TABLE gtestc; f1~ | f2 -----+----- 420 | 43 (1 row)
postgres=# CREATE TABLE gtestp (f1 int); CREATE TABLE postgres=# CREATE TABLE gtestc (f2 int GENERATED ALWAYS AS (f1+1) STORED) INHERITS(gtestp); CREATE TABLE postgres=# INSERT INTO gtestc values(42); INSERT 0 1 postgres=# TABLE gtestc; f1 | f2 ----+---- 42 | 43 (1 row) postgres=# UPDATE gtestp SET f1 = f1 * 10; UPDATE 1 postgres=# TABLE gtestc; f1~ | f2 -----+----- 420 | 421 (1 row)
対処方法
ありません。