Re: Dumping/restoring fails on inherited generated column
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-07-15T19:29:26Z
Lists: pgsql-hackers
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes: >> Right, there were a number of combinations that were not properly >> handled. The attached patch should fix them all. It's made against >> PG12 but also works on master. See contained commit message and >> documentation for details. > committed to master and PG12 So ... this did not actually fix the dump/restore problem. In fact, it's worse, because in HEAD I see two failures not one when doing the same test proposed at the start of this thread: 1. make installcheck 2. pg_dump -Fc regression >r.dump 3. createdb r2 4. pg_restore -d r2 r.dump pg_restore: while PROCESSING TOC: pg_restore: from TOC entry 6253; 2604 226187 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 6279; 2604 227276 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
Commits
-
Fix ALTER TABLE / INHERIT with generated columns
- 13ff139a2384 12.7 landed
- 64190d65f299 13.3 landed
- a970edbed306 14.0 landed
-
pg_dump: Fix dumping of inherited generated columns
- 1dd6baf78802 12.6 landed
- 1d3ce0223c6a 13.2 landed
- 0bf83648a52d 14.0 landed
-
Disallow ALTER TABLE ONLY / DROP EXPRESSION
- 539775981746 13.1 landed
- bf797a8d9768 14.0 landed
-
Fix several DDL issues of generated columns versus inheritance
- 086ffddf3656 13.0 cited