> > Is there a particular reason why plain text is forced?
> Because pg_dumpall is producing a script file.
> This is obviously not optimal, but it's not very clear how to do better.
Agreed. :-)
I notice that pg_dumpall just uses a query to grab a list of databases and
some information about them and then cycles through them and runs pg_dump for
each one to dump it. I could easily do this myself but that would mean that
both pg_dumpall and whatever method I come up with do not guarantee
referential integrity across databases (I'm specifically thinking about
foreign keys).
Now IIRC, Postgres doesn't allow foreign keys across databases so this point
is moot at this time. Is there a way to start a transaction at the start of
the dump and hold it throughout successive connections, finally releasing it
at the end? Or is that on the TODO for whenever foreign keys can be across
databases?
Regards,
Andrew