Thread: Pg_dumpall from different versions

Pg_dumpall from different versions

From
"Robert Fitzpatrick"
Date:
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



Re: Pg_dumpall from different versions

From
Tom Lane
Date:
"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