Re: pg_upgrade: when the --old-bindir requires "additional" $libdir/ plugins? - Mailing list pgsql-general

From Pavel Raiskup
Subject Re: pg_upgrade: when the --old-bindir requires "additional" $libdir/ plugins?
Date
Msg-id 3771637.ZVFRVXCO1T@nb.usersys.redhat.com
Whole thread Raw
In response to Re: pg_upgrade: when the --old-bindir requires "additional" $libdir/plugins?  (Adrian Klaver <adrian.klaver@aklaver.com>)
Responses Re: pg_upgrade: when the --old-bindir requires "additional" $libdir/plugins?
List pgsql-general
On Wednesday, April 18, 2018 4:43:01 PM CEST Adrian Klaver wrote:
> On 04/18/2018 07:22 AM, Tom Lane wrote:
> > Pavel Raiskup <praiskup@redhat.com> writes:
> >> . and it seems like the hstore.so was somewhat intimately integrated into
> >> OP's database so the '/usr/bin/pg_dump --schema-only --binary-upgrade
> >> --format=custom' called through 'pg_upgrade' failed with:
> >>    pg_dump: [archiver (db)] query failed: ERROR:  could not access file
> >>    "$libdir/hstore": No such file or directory
> >> Which means that the dump from old datadir, with old server (without
> >> hstore.so packaged) failed.  But playing with hstore.so a bit, the upgrade
> >> always worked smoothly for me even without the "old" hstore.so
> > 
> > Hi Pavel,
> > 
> > There are certainly plenty of reasons why extension .so's might be needed
> > during pg_dump, even in a binary-upgrade situation.  The first example
> > that comes to mind is that an hstore-type constant appearing in a view
> > definition would require hstore_out() to be invoked while dumping the view
> > definition.
> 
> I am obviously missing something. If the old server was using hstore in 
> a database how could hstore.so could be accessible to it but not pg_dump?

Because on Fedora we usually run pg_upgrade after distribution upgrade
(e.g. for Fedora 27 => Fedora 28 upgrade it means also upgrade from PostgreSQL
9.6 to 10), and then we provide the old server in different package
(postgresql-upgrade) which has limited feature set (including the missing
hstore.so module).

Pavel

> > 
> > I don't remember anymore whether I'd set up the postgresql-update package
> > to include the contrib modules for the old server version.  If I didn't,
> > it was an oversight :-(.
> > 
> >             regards, tom lane
> > 
> > 
> 
> 
> 






pgsql-general by date:

Previous
From: Pavel Raiskup
Date:
Subject: Re: pg_upgrade: when the --old-bindir requires "additional" $libdir/ plugins?
Next
From: Adrian Klaver
Date:
Subject: Re: pg_upgrade: when the --old-bindir requires "additional" $libdir/plugins?