Обсуждение: Postgresql 9.4 pg_upgrade issues

Поиск
Список
Период
Сортировка

Postgresql 9.4 pg_upgrade issues

От
Yogi Barot
Дата:

Hi,

 

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;

 

Thanks,

Yogi

 

CONFIDENTIALITY WARNING
This communication, including any attachments, is for the exclusive use of addressee and may contain proprietary and/or confidential information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.

AVERTISSEMENT RELATIF À LA CONFIDENTIALITÉ
Ce message, ainsi que les pièces qui y sont jointes, est destiné à l’usage exclusif de la personne à laquelle il s’adresse et peut contenir de l’information personnelle ou confidentielle. Si le lecteur de ce message n’en est pas le destinataire, nous l’avisons par la présente que toute diffusion, distribution, reproduction ou utilisation de son contenu est strictement interdite. Veuillez avertir sur-le-champ l’expéditeur par retour de courrier électronique et supprimez ce message ainsi que toutes les pièces jointes.

Re: Postgresql 9.4 pg_upgrade issues

От
"David G. Johnston"
Дата:
On Tue, Nov 24, 2015 at 8:13 AM, Yogi Barot <YBarot@symcor.com> wrote:

Hi,

 

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 would suspect a reference in the configuration file postgresql.conf probably exists.

David J.
 

Re: Postgresql 9.4 pg_upgrade issues

От
Yogi Barot
Дата:

There is no reference to this library in postgreql.conf still it fails.  

 

How can I remove reference of library which is embedded in data directory?

 

Thanks,

 

From: David G. Johnston [mailto:david.g.johnston@gmail.com]
Sent: Tuesday, November 24, 2015 10:19 AM
To: Yogi Barot
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Postgresql 9.4 pg_upgrade issues

 

On Tue, Nov 24, 2015 at 8:13 AM, Yogi Barot <YBarot@symcor.com> wrote:

Hi,

 

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 would suspect a reference in the configuration file postgresql.conf probably exists.

 

David J.

 

 

CONFIDENTIALITY WARNING
This communication, including any attachments, is for the exclusive use of addressee and may contain proprietary and/or confidential information. If you are not the intended recipient, any use, copying, disclosure, dissemination or distribution is strictly prohibited. If you are not the intended recipient, please notify the sender immediately by return e-mail, delete this communication and destroy all copies.

AVERTISSEMENT RELATIF À LA CONFIDENTIALITÉ
Ce message, ainsi que les pièces qui y sont jointes, est destiné à l’usage exclusif de la personne à laquelle il s’adresse et peut contenir de l’information personnelle ou confidentielle. Si le lecteur de ce message n’en est pas le destinataire, nous l’avisons par la présente que toute diffusion, distribution, reproduction ou utilisation de son contenu est strictement interdite. Veuillez avertir sur-le-champ l’expéditeur par retour de courrier électronique et supprimez ce message ainsi que toutes les pièces jointes.

Re: Postgresql 9.4 pg_upgrade issues

От
Albe Laurenz
Дата:
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);

Yours,
Laurenz Albe

Re: Postgresql 9.4 pg_upgrade issues

От
Yogi Barot
Дата:
Hi,

I was able to manage upgrade testing with cluster which does not have plsh for now.

But I have another problem. All my data TB is in the tablespace in PGData directory, I did the upgrade using link
method,now I got this warning.  
 

Upgrade Complete
----------------
Optimizer statistics are not transferred by pg_upgrade so,
once you start the new server, consider running:
    analyze_new_cluster.sh

Could not create a script to delete the old cluster's data
files because user-defined tablespaces exist in the old cluster
directory.  The old cluster's contents must be deleted manually.

1) Does This means , I can't delete old cluster data directory? Or I can delete it manually?
2) Deleting old data directory will effect any functionality of postgresql new cluster?
3) Also Need some clarification on link mode, what if I upgrade from 9.5. to future release using pg_upgarde link mode
willstill work on same data directory?
 

Thanks,
Yogi


-----Original Message-----
From: Albe Laurenz [mailto:laurenz.albe@wien.gv.at] 
Sent: Tuesday, November 24, 2015 11:26 AM
To: Yogi Barot; 'pgsql-admin@postgresql.org'
Subject: RE: Postgresql 9.4 pg_upgrade issues

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);

Yours,
Laurenz Albe


CONFIDENTIALITY WARNING
This communication, including any attachments, is for the exclusive use of addressee and may contain proprietary and/or
confidentialinformation. If you are not the intended recipient, any use, copying, disclosure, dissemination or
distributionis strictly prohibited. If you are not the intended recipient, please notify the sender immediately by
returne-mail, delete this communication and destroy all copies. 

AVERTISSEMENT RELATIF À LA CONFIDENTIALITÉ
Ce message, ainsi que les pièces qui y sont jointes, est destiné à l’usage exclusif de la personne à laquelle il
s’adresseet peut contenir de l’information personnelle ou confidentielle. Si le lecteur de ce message n’en est pas le
destinataire,nous l’avisons par la présente que toute diffusion, distribution, reproduction ou utilisation de son
contenuest strictement interdite. Veuillez avertir sur-le-champ l’expéditeur par retour de courrier électronique et
supprimezce message ainsi que toutes les pièces jointes. 

Re: Postgresql 9.4 pg_upgrade issues

От
Bruce Momjian
Дата:
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                             +


Re: Postgresql 9.4 pg_upgrade issues

От
Bruce Momjian
Дата:
On Tue, Nov 24, 2015 at 08:32:18PM +0000, Yogi Barot wrote:
> Hi,
>
> I was able to manage upgrade testing with cluster which does not have plsh for now.
>
> But I have another problem. All my data TB is in the tablespace in PGData directory, I did the upgrade using link
method,now I got this warning.   
>
> Upgrade Complete
> ----------------
> Optimizer statistics are not transferred by pg_upgrade so,
> once you start the new server, consider running:
>     analyze_new_cluster.sh
>
> Could not create a script to delete the old cluster's data
> files because user-defined tablespaces exist in the old cluster
> directory.  The old cluster's contents must be deleted manually.
>
> 1) Does This means , I can't delete old cluster data directory? Or I can delete it manually?

If you delete the old data directory, you will delete the old _and_
_new_ cluster tablespaces.

> 2) Deleting old data directory will effect any functionality of postgresql new cluster?

Yep, you can bet on that.  :-)

> 3) Also Need some clarification on link mode, what if I upgrade from 9.5. to future release using pg_upgarde link
modewill still work on same data directory? 

Yes, but I suggest you shut down your server and move those tablespaces
out of the data directory, update the pg_tblspc symlinks, and then
restart the server.

--
  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                             +


Re: Postgresql 9.4 pg_upgrade issues

От
Yogi Barot
Дата:
Thanks a lot for quick reply.

In this case,  If I move table space out of old data directory using symlink, then can I remove old data directory?



-----Original Message-----
From: Bruce Momjian [mailto:bruce@momjian.us]
Sent: Tuesday, November 24, 2015 4:41 PM
To: Yogi Barot
Cc: 'Albe Laurenz'; 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] Postgresql 9.4 pg_upgrade issues

On Tue, Nov 24, 2015 at 08:32:18PM +0000, Yogi Barot wrote:
> Hi,
>
> I was able to manage upgrade testing with cluster which does not have plsh for now.
>
> But I have another problem. All my data TB is in the tablespace in PGData directory, I did the upgrade using link
method,now I got this warning.   
>
> Upgrade Complete
> ----------------
> Optimizer statistics are not transferred by pg_upgrade so, once you
> start the new server, consider running:
>     analyze_new_cluster.sh
>
> Could not create a script to delete the old cluster's data files
> because user-defined tablespaces exist in the old cluster directory.
> The old cluster's contents must be deleted manually.
>
> 1) Does This means , I can't delete old cluster data directory? Or I can delete it manually?

If you delete the old data directory, you will delete the old _and_ _new_ cluster tablespaces.

> 2) Deleting old data directory will effect any functionality of postgresql new cluster?

Yep, you can bet on that.  :-)

> 3) Also Need some clarification on link mode, what if I upgrade from 9.5. to future release using pg_upgarde link
modewill still work on same data directory? 

Yes, but I suggest you shut down your server and move those tablespaces out of the data directory, update the pg_tblspc
symlinks,and then restart the server. 

--
  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                             +


CONFIDENTIALITY WARNING
This communication, including any attachments, is for the exclusive use of addressee and may contain proprietary and/or
confidentialinformation. If you are not the intended recipient, any use, copying, disclosure, dissemination or
distributionis strictly prohibited. If you are not the intended recipient, please notify the sender immediately by
returne-mail, delete this communication and destroy all copies. 

AVERTISSEMENT RELATIF À LA CONFIDENTIALITÉ
Ce message, ainsi que les pièces qui y sont jointes, est destiné à l’usage exclusif de la personne à laquelle il
s’adresseet peut contenir de l’information personnelle ou confidentielle. Si le lecteur de ce message n’en est pas le
destinataire,nous l’avisons par la présente que toute diffusion, distribution, reproduction ou utilisation de son
contenuest strictement interdite. Veuillez avertir sur-le-champ l’expéditeur par retour de courrier électronique et
supprimezce message ainsi que toutes les pièces jointes. 

Re: Postgresql 9.4 pg_upgrade issues

От
'Bruce Momjian'
Дата:
On Tue, Nov 24, 2015 at 09:45:16PM +0000, Yogi Barot wrote:
> Thanks a lot for quick reply.
>
> In this case,  If I move table space out of old data directory using symlink, then can I remove old data directory?

Yes.  The warning is there so you don't delete the old cluster's data
directory while it contains tablespaces for the new cluster.  As you can
imagine, that would be a bad thing.

---------------------------------------------------------------------------


>
>
>
> -----Original Message-----
> From: Bruce Momjian [mailto:bruce@momjian.us]
> Sent: Tuesday, November 24, 2015 4:41 PM
> To: Yogi Barot
> Cc: 'Albe Laurenz'; 'pgsql-admin@postgresql.org'
> Subject: Re: [ADMIN] Postgresql 9.4 pg_upgrade issues
>
> On Tue, Nov 24, 2015 at 08:32:18PM +0000, Yogi Barot wrote:
> > Hi,
> >
> > I was able to manage upgrade testing with cluster which does not have plsh for now.
> >
> > But I have another problem. All my data TB is in the tablespace in PGData directory, I did the upgrade using link
method,now I got this warning.   
> >
> > Upgrade Complete
> > ----------------
> > Optimizer statistics are not transferred by pg_upgrade so, once you
> > start the new server, consider running:
> >     analyze_new_cluster.sh
> >
> > Could not create a script to delete the old cluster's data files
> > because user-defined tablespaces exist in the old cluster directory.
> > The old cluster's contents must be deleted manually.
> >
> > 1) Does This means , I can't delete old cluster data directory? Or I can delete it manually?
>
> If you delete the old data directory, you will delete the old _and_ _new_ cluster tablespaces.
>
> > 2) Deleting old data directory will effect any functionality of postgresql new cluster?
>
> Yep, you can bet on that.  :-)
>
> > 3) Also Need some clarification on link mode, what if I upgrade from 9.5. to future release using pg_upgarde link
modewill still work on same data directory? 
>
> Yes, but I suggest you shut down your server and move those tablespaces out of the data directory, update the
pg_tblspcsymlinks, and then restart the server. 
>
> --
>   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                             +

>
>
> CONFIDENTIALITY WARNING
> This communication, including any attachments, is for the exclusive use of addressee and may contain proprietary
and/orconfidential information. If you are not the intended recipient, any use, copying, disclosure, dissemination or
distributionis strictly prohibited. If you are not the intended recipient, please notify the sender immediately by
returne-mail, delete this communication and destroy all copies. 
>
> AVERTISSEMENT RELATIF À LA CONFIDENTIALITÉ
> Ce message, ainsi que les pièces qui y sont jointes, est destiné à l’usage exclusif de la personne à laquelle il
s’adresseet peut contenir de l’information personnelle ou confidentielle. Si le lecteur de ce message n’en est pas le
destinataire,nous l’avisons par la présente que toute diffusion, distribution, reproduction ou utilisation de son
contenuest strictement interdite. Veuillez avertir sur-le-champ l’expéditeur par retour de courrier électronique et
supprimezce message ainsi que toutes les pièces jointes. 


--
  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                             +