如何更改 Postgres 12 GENERATED 列的定义?
CREATE TABLE test (
id serial PRIMARY KEY,
val_a int4 NOT NULL DEFAULT 0,
val_b int4 NOT NULL DEFAULT 0,
val_sum int4 generated always AS (val_a + val_b) stored
);
Run Code Online (Sandbox Code Playgroud)
我试过
ALTER TABLE test ALTER COLUMN val_sum TYPE int4 generated always AS (val_a + val_b + 1) stored;
ALTER TABLE test ALTER COLUMN val_sum SET generated always AS (val_a + val_b + 1) stored;
Run Code Online (Sandbox Code Playgroud)
但两者都会出现语法错误。
另一种方法是删除并添加列,这是可行的,但我想知道如何像任何其他列一样简单地更改它。