Thread: restoring pgdump file file from 7.2 branch to 7.4

restoring pgdump file file from 7.2 branch to 7.4

From
"Bob Powell"
Date:
Hello everyone:
 
I am attempting to upgrade from 7.2 to 7.4 Postgresql.  I have successfully installed 7.4 and am attempting to use the pgdump from 7.2 for 7.4.  I'm having only one slight error that I would like some help with.
 
I create both the pgsql and pltcl languages.  I get two messages that I don't understand.  The first is a warning from the pgsql with reads:
 
changing return type of function plpgsql_call_handler from opaque to language_handler.  Does this matter?
 
The other error message is could not load library "/usr/lib/pgsql/pltcl.so": /usr/lib/pgsql/pltcl.so: undefined symbol: elog
 
  function pltcl_call_hander() does not exist.
 
I am sure that the pltcl.so is in the correct location.  Would the version issue of pltcl.so matter?  I'm using the pltcl.so from my older 7.2 branch.
 
Thanks!

Bob Powell
Database Administrator

Re: restoring pgdump file file from 7.2 branch to 7.4

From
Tom Lane
Date:
"Bob Powell" <bob@hotchkiss.org> writes:
> I am sure that the pltcl.so is in the correct location.  Would the
> version issue of pltcl.so matter?  I'm using the pltcl.so from my older
> 7.2 branch.

Can't do that.

In current releases it's considered bad practice to be using absolute
paths for .so's at all --- better to make them relative to $libdir so
that your function definitions are more portable.

What I'd recommend is that you create the database, use the new
version's "createlang" to install the PLs you want, and then run the
restore script and ignore its bleats about the PL objects already
existing.  This will get you a modern definition of the PLs together
with your existing data.

            regards, tom lane

Re: restoring pgdump file file from 7.2 branch to 7.4

From
Peter Eisentraut
Date:
Am Freitag, 5. November 2004 16:29 schrieb Bob Powell:
> changing return type of function plpgsql_call_handler from opaque to
> language_handler.  Does this matter?

Yes, but it's good that it happens. :)

> I am sure that the pltcl.so is in the correct location.  Would the
> version issue of pltcl.so matter?  I'm using the pltcl.so from my older
> 7.2 branch.

That doesn't work.  You need to use the one that was compiled for the server
that you are using.  You may need to adjust the path in the dump file.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/