I am
running PostgreSQL 8.0.1 on Max OS X. Rather than using the serial data type
for a table’s primary key, we use integer and default it to the nexval of
a sequence with the name of <tablename>_seq (this syntax seems to work
best with Apple’s WebObjects Enterprise Object Modeler). Therefore, the
table depends on the sequence, and in a reload of the database, the sequence
must be created first. However, pg_dump lists the “create sequence”
after the “create table”. Of course I cannot use the pg_dump file
as-is to reload the database, it fails on the “create table”
statement when referencing the (as-yet) non-existent sequence. It
would be nice if pg_dump understood the dependency and listed the “create
sequence” before the “create table”. (If there is some way to
get it to do this, please let me know.) In
the meantime, I see from the manual that pg_restore can be made to produce an
archive.list which is a table of contents for the dump file. I can then reorder
the archive.list and feed it to pg_restore to force a restore in the correct
order. If
this has already been discussed, please point me to the list, year and month
and I’ll go to the list archives and learn there. Thanks!! |