Re: pg_dump insert column GENERATED
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Дмитрий Иванов <firstdismay@gmail.com>
Cc: Adrian Klaver <adrian.klaver@aklaver.com>,
pgsql-general <pgsql-general@lists.postgresql.org>
Date: 2021-11-22T14:55:44Z
Lists: pgsql-general
=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JjQstCw0L3QvtCy?= <firstdismay@gmail.com> writes: > Uchet=# select attname, attgenerated from pg_attribute > Uchet-# where attrelid = 'bpd.object'::regclass and attnum > 0; > attname | attgenerated > -------------------------------+-------------- > id | > id_class | > id_position | > ........pg.dropped.4........ | > ........pg.dropped.5........ | > ........pg.dropped.6........ | > bquantity | > ........pg.dropped.8........ | > ........pg.dropped.9........ | > id_position_root | > id_conception | > barcode_unit | > id_unit_conversion_rule | > ........pg.dropped.14........ | > timestamp | > on_freeze | > timestamp_class | > name | > id_class_root | > id_group | > id_group_root | > id_object_carrier | > desc | > ........pg.dropped.24........ | > ........pg.dropped.25........ | > ........pg.dropped.26........ | > id_class_prop_object_carrier | > id_pos_temp_prop | > ........pg.dropped.29........ | > mc | > is_inside | s Hah ... that gave me the clue I needed. If there are dropped column(s) before the GENERATED one, pg_dump gets it wrong --- but only in --inserts mode, not the default COPY mode, which no doubt explains why nobody noticed. There is code in there to inject DEFAULT, but it must be indexing the flag array wrong. Will fix, thanks for the report! regards, tom lane
Commits
-
Fix pg_dump --inserts mode for generated columns with dropped columns.
- aedc4600d84d 14.2 landed
- 6fc8b145e743 13.6 landed
- 1e7f588ad625 12.10 landed
- 0b126c6a4b00 15.0 landed