Pg_dumpall from different versions

Started by Robert Fitzpatrickalmost 23 years ago2 messagesgeneral
Jump to latest
#1Robert Fitzpatrick
robert@webtent.com

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Fitzpatrick (#1)
Re: Pg_dumpall from different versions

"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