On Tue, Nov 24, 2015 at 04:25:49PM +0000, Albe Laurenz wrote:
> Yogi Barot wrote:
> > I am running postgresql upgrade from postgresql 9.0.11 to postgresql 9.4 using pg_upgrade link method
> > and having some issues with upgrade on Reh hat 7.1.
> >
> > Here is the error message, that I am getting via pg_upgrade:
> >
> > /usr/pgsql-9.4/bin/pg_upgrade --old-bindir=/usr/local/pgsql/bin --new-bindir=/usr/pgsql-9.4/bin --old-
> > datadir=/opt/symcor-foa/data --new-datadir=/opt/symcor-foa/data94 -v --user=pg_foa_c --link -p 5432
> > -P 5433
> >
> > cat loadable_libraries.txt
> > Could not load library "/opt/symcor-foa/pgsql//lib/pgplsh/pgplsh.so"
> > ERROR: could not load library "/opt/symcor-foa/pgsql//lib/pgplsh/pgplsh.so": /opt/symcor-
> > foa/pgsql//lib/pgplsh/pgplsh.so: undefined symbol: DirectFunctionCall1
> >
> > In the original cluster, I have removed function and language which reference this library, I also
> > took postgres dump using pg_dumpall and it does not show any reference to this library plsh. Still
> > pg_upgarde somehow reference this library.
> >
> > Any help greatly appricaited as I am stuck here, can not build library on new Rhel 7 cluster, we don’t
> > need library, but not sure how to remove the reference of it completely. I dropped from all databases
> > and even from template1 database using droplib plsh;
>
> I guess you failed to remove PL/sh in the original cluster.
>
> Did you try the following in all databases:
> DROP LANGUAGE plsh CASCADE;
> DROP FUNCTION plsh_handler();
> DROP FUNCTION plsh_validator(oid);
I suggest you look in pg_proc with this query that pg_upgrade uses:
SELECT DISTINCT proname, probin
FROM pg_catalog.pg_proc
WHERE prolang = 13 /* C */ AND
probin IS NOT NULL AND
oid >= 16384;
That should show the "pgplsh.so" reference.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Roman grave inscription +