Re: [GENERAL] pg_upgrade from 9.5 to 9.6 fails with "invalid argument" - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: [GENERAL] pg_upgrade from 9.5 to 9.6 fails with "invalid argument"
Date
Msg-id 013ada1f-ea63-8ab1-4b21-e1e149c63c49@dunslane.net
Whole thread Raw
In response to Re: [GENERAL] pg_upgrade from 9.5 to 9.6 fails with "invalid argument"  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [GENERAL] pg_upgrade from 9.5 to 9.6 fails with "invalid argument"  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On 09/29/2016 05:48 PM, Tom Lane wrote:
> We might've caught these things earlier if the buildfarm testing
> included cross-version upgrades, but of course that requires a
> lot of test infrastructure that's not there ...
>
>             


I have done quite a bit of work on this - see 
<https://github.com/PGBuildFarm/client-code/blob/master/PGBuild/Modules/TestUpgradeXversion.pm>

This actually runs on crake, and it has found problems in the past which 
we've fixed. However, it requires quite a deal of disk space (4GB or 
so), and the results are not stable, which is why I haven't enabled it.

What I am thinking of doing is making the diff tests fuzzy - if, say, we 
don't get a diff of more than 2000 lines we won't consider it a failure.

Among this module's advantages is that it tests upgrading quite a bit 
more than the standard pg_upgrade check - all the buildfarm's regression 
databases, not just the one created by "make check". For example, 
currently it is failing to upgrade from 9.6 to HEAD with this error:
   Could not load library "$libdir/hstore_plpython2"   ERROR:  could not load library
"/home/bf/bfr/root/upgrade/HEAD/inst/lib/postgresql/hstore_plpython2.so":
/home/bf/bfr/root/upgrade/HEAD/inst/lib/postgresql/hstore_plpython2.so:  undefined symbol: _Py_NoneStruct
 

I need to look into that.

cheers

andrew




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: wal_segment size vs max_wal_size
Next
From: Michael Paquier
Date:
Subject: Re: wal_segment size vs max_wal_size