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