Обсуждение: BUG #5198: Plain dump: wrong field order for inherited tables

Поиск
Список
Период
Сортировка

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

От
"Lyamin Mikhail"
Дата:
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

От
Tom Lane
Дата:
"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