Thread: pg_dump dumping data in order? (used to in 7.4 but not now in 8?)

pg_dump dumping data in order? (used to in 7.4 but not now in 8?)

From
Miles Keaton
Date:
When I do a pg_dump, (--data-only), PG7 used to dump the data out in
order, so that all foreign-key checks worked correctly when loading
the data back in.

Now it seems with PG8 it's dumping it completely out of order (one of
my completely foreign-key join tables first!) - and I can't get it to
dump in the correct order.

Anyone know a solution to this, to get a data dump to export in a
correct order so that foreign-key checks will work when loading that
data in again?

Re: pg_dump dumping data in order? (used to in 7.4 but not now in 8?)

From
Tom Lane
Date:
Miles Keaton <mileskeaton@gmail.com> writes:
> When I do a pg_dump, (--data-only), PG7 used to dump the data out in
> order, so that all foreign-key checks worked correctly when loading
> the data back in.

If it did so, it was by pure luck.

In general it is not possible for pg_dump to guarantee this works;
consider circular FK constraints, or FK constraints added since the
dump occurred.  In view of that, pg_dump has never tried to ensure
that data-only dumps are in a "valid" order at all.  The usual
approach is to use --disable-triggers to short-circuit the FK
constraints during the load.

            regards, tom lane

Re: pg_dump dumping data in order? (used to in 7.4 but not now in 8?)

From
Miles Keaton
Date:
>use --disable-triggers

Hey! Cool. Worked. Thanks!