Brokenness in dump/restore for GENERATED expressions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Brokenness in dump/restore for GENERATED expressions
Date: 2020-01-30 18:54:31
Message-ID: 5954.1580410471@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mark Dilger 2020-01-30 18:55:37 Re: Hash join not finding which collation to use for string hashing
Previous Message Tom Lane 2020-01-30 18:41:36 Re: Unix-domain socket support on Windows