I have committed some fairly wide-ranging revisions to pg_dump to make
it dump database objects in a "safe" order according to the dependency
information available from pg_depend. While I know that I have fixed
a lot of previously-broken cases, it's hardly unlikely that I've broken
some things too. Please give it a try if you can. CVS-tip pg_dump
should be fully compatible with 7.4 installations, and reasonably
compatible with 7.3 servers as well (but its output is unlikely to
load into pre-7.3 servers because of syntax changes).
If anyone wants to try using this pg_dump to dump from 7.2 or before
and reload into 7.4-or-CVS-tip, I'd also be interested to hear how well
that works. When dumping from a pre-7.3 server there is no pg_depend
info available, so pg_dump is on its own to guess at a reasonable dump
order. I do not promise that pg_dump is any better than before in this
situation, but if it's gotten worse then I'd like to know about it.
regards, tom lane