Обсуждение: 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