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

Started by Miles Keatonabout 21 years ago3 messagesgeneral
Jump to latest
#1Miles Keaton
mileskeaton@gmail.com

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?

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Miles Keaton (#1)
Re: pg_dump dumping data in order? (used to in 7.4 but not now in 8?)

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

#3Miles Keaton
mileskeaton@gmail.com
In reply to: Tom Lane (#2)
Re: pg_dump dumping data in order? (used to in 7.4 but not now in 8?)

use --disable-triggers

Hey! Cool. Worked. Thanks!