Thread: BUG #5198: Plain dump: wrong field order for inherited tables

BUG #5198: Plain dump: wrong field order for inherited tables

From
"Lyamin Mikhail"
Date:
The following bug has been logged online:

Bug reference:      5198
Logged by:          Lyamin Mikhail
Email address:      lma032@gmail.com
PostgreSQL version: 8.3.8
Operating system:   Debian
Description:        Plain dump: wrong field order for inherited tables
Details:

pg_dump - version 4.8.1 under Windows 7

1) create table
2) create inherited table
3) add fields in parent table
4) add fields in child table
5) make dump

Now you have wrong order of fields in insert. This haooend because in new
child table you will have first inherited fields, then newly added. And in
dump you have fields, that are ordered by appending

Possible solution: in data insertion write: "insert into TABLE_NAME (<fields
list>) VALUES (<values list>)"

instead of
"insert into TABLE_NAME VALUES (<values list>)"

Re: BUG #5198: Plain dump: wrong field order for inherited tables

From
Tom Lane
Date:
"Lyamin Mikhail" <lma032@gmail.com> writes:
> 1) create table
> 2) create inherited table
> 3) add fields in parent table
> 4) add fields in child table
> 5) make dump

> Now you have wrong order of fields in insert.

AFAIK this will happen only if you use the --inserts switch, which is
deprecated for exactly this reason.  Let it use COPY as it will do
by default, or use --column-inserts if you must have insert statements.

If you think there's a problem without --inserts, you need to show an
exact example, not hand-waving.

            regards, tom lane