Обсуждение: Brokenness in dump/restore for GENERATED expressions
Using today's HEAD, the regression database cannot be dumped and
restored normally. Since the buildfarm isn't all red, I suppose
it works in --binary-upgrade mode ... but if I just do
$ make installcheck # to set up the test database
$ pg_dump -Fc regression >r.dump
$ createdb r2
$ pg_restore -d r2 r.dump
I get
pg_restore: while PROCESSING TOC:
pg_restore: from TOC entry 6016; 2604 24926 DEFAULT gtest1_1 b postgres
pg_restore: error: could not execute query: ERROR: column "b" of relation "gtest1_1" is a generated column
Command was: ALTER TABLE ONLY public.gtest1_1 ALTER COLUMN b SET DEFAULT (a * 2);
pg_restore: from TOC entry 6041; 2604 25966 DEFAULT gtest30_1 b postgres
pg_restore: error: could not execute query: ERROR: cannot use column reference in DEFAULT expression
Command was: ALTER TABLE ONLY public.gtest30_1 ALTER COLUMN b SET DEFAULT (a * 2);
pg_restore: warning: errors ignored on restore: 2
regards, tom lane
On 2020-01-30 19:54, Tom Lane wrote: > Using today's HEAD, the regression database cannot be dumped and > restored normally. Since the buildfarm isn't all red, I suppose > it works in --binary-upgrade mode ... but if I just do > > $ make installcheck # to set up the test database > $ pg_dump -Fc regression >r.dump > $ createdb r2 > $ pg_restore -d r2 r.dump > > I get > > pg_restore: while PROCESSING TOC: > pg_restore: from TOC entry 6016; 2604 24926 DEFAULT gtest1_1 b postgres > pg_restore: error: could not execute query: ERROR: column "b" of relation "gtest1_1" is a generated column > Command was: ALTER TABLE ONLY public.gtest1_1 ALTER COLUMN b SET DEFAULT (a * 2); > > > pg_restore: from TOC entry 6041; 2604 25966 DEFAULT gtest30_1 b postgres > pg_restore: error: could not execute query: ERROR: cannot use column reference in DEFAULT expression > Command was: ALTER TABLE ONLY public.gtest30_1 ALTER COLUMN b SET DEFAULT (a * 2); This is the same issue as <https://www.postgresql.org/message-id/15830.1575468847@sss.pgh.pa.us>. I will work in it this week. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services