On 2021-01-29 17:41, Tom Lane wrote:
However ... this doesn't solve all the cases noted in this thread.
In the first example I gave at [1],
d3=# create table parent (f1 int default 2);
CREATE TABLE
d3=# create table child (f1 int default 3) inherits(parent);
NOTICE: merging column "f1" with inherited definition
CREATE TABLE
d3=# create table child2() inherits(parent);
CREATE TABLE
d3=# alter table child2 alter column f1 set default 42;
ALTER TABLE
pg_dump still fails to restore child2.f1's non-inherited default.
That's probably a pre-existing problem, since it doesn't involve
GENERATED at all, but we shouldn't forget about it.
[1] https://www.postgresql.org/message-id/660925.1601397436%40sss.pgh.pa.us
I can't tell what the problem is in this example. I tried with PG11,
12, and master, and the schema dump comes out with those same four
commands and they restore correctly AFAICT.
--
Peter Eisentraut
2ndQuadrant, an EDB company
https://www.2ndquadrant.com/