Рад помочь!
--
С уважением, Дмитрий!пн, 22 нояб. 2021 г. в 19:55, Tom Lane <tgl@xxxxxxxxxxxxx>:
=?UTF-8?B?0JTQvNC40YLRgNC40Lkg0JjQstCw0L3QvtCy?= <firstdismay@xxxxxxxxx> 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