pg_dump: Fix dumping of inherited generated columns
authorPeter Eisentraut <peter@eisentraut.org>
Wed, 3 Feb 2021 10:27:13 +0000 (11:27 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Wed, 3 Feb 2021 10:27:13 +0000 (11:27 +0100)
commit0bf83648a52df96f7c8677edbbdf141bfa0cf32b
treee025d53f3153f6af52a1003eb5aefbd04c81d740
parentef3d4613c0204ab2b87ffa7e8e9551d74f932816
pg_dump: Fix dumping of inherited generated columns

Generation expressions of generated columns are always inherited, so
there is no need to set them separately in child tables, and there is
no syntax to do so either.  The code previously used the code paths
for the handling of default values, for which different rules apply;
in particular it might want to set a default value explicitly for an
inherited column.  This resulted in unrestorable dumps.  For generated
columns, just skip them in inherited tables.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/15830.1575468847%40sss.pgh.pa.us
src/bin/pg_dump/common.c
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/t/002_pg_dump.pl