Pg_dumpall from different versions
If I try to use the pg_dumpall from a 7.3.3 server to dump data from a
7.0.2 server, I get the following error:
pg_dumpall: query failed: ERROR: OUTER JOIN is not yet supported
Then I tried just copying the pg_dumpall from the 7.0.2 server onto the
7.3.3 server and trying to use that binary instead, but I get this
error:
psql: FATAL: user "root" does not exist
What are my options for doing a dumpall from a 7.3.3 server to dump the
data from the 7.0.2 server?
--
Robert
"Robert Fitzpatrick" <robert@webtent.com> writes:
If I try to use the pg_dumpall from a 7.3.3 server to dump data from a
7.0.2 server, I get the following error:
pg_dumpall: query failed: ERROR: OUTER JOIN is not yet supported
Yeah :-(. pg_dump should work, but pg_dumpall uses LEFT JOIN in its
query to get pg_database entries.
CVS tip's pg_dumpall actually works (in my testing at least) with
servers back to 7.0, but this is the first time this has ever been
true. Up till recently, pg_dumpall was a simple shell script and making
it cope with different server variants seemed impractical. As of 7.3
pg_dumpall is a real C program, but incorporating logic in it to issue
valid queries to older servers only happened in the last couple weeks.
Your best bet might be to grab pg_dumpall.c from CVS tip and try to
build it in your 7.3 installation --- I think that will work, but have
not tried it. If you don't want to do that, you should be able to use
your 7.3 pg_dump to dump each 7.0 database individually, but you'll need
to do something manual to dump your user and group definitions.
regards, tom lane