pg_dump dumping data in order? (used to in 7.4 but not now in 8?)
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?
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