testing pg_dump against very old versions
In the interest of advancing $subject, I recently started a little
skunkworks project to get old postgres running on modern systems so we
could test if we'd broken backwards compatibility somehow. This was
given a fillip a few days ago when my colleague Gianni Ciolli complained
that it uses array syntax that isn't valid in 7.3 for the -T option. So
here is the result. Essentially I set up a (barely workable) Fedora Core
2 VM and build Postgres 7.2.8 there. Then I packed up the binaries and
data directory and tried them on a modern system (Fedora 28). It turns
out they need a few old libraries, but apart from that it works. So I
have packaged all this up in a Vagrant setup, which is available at
<https://bitbucket.org/adunstan/oldpg>
Next I'm going to work on a Docker image for this. I think that should
be fairly simple now I have this piece down.
Then I will start adding other old versions.
Meanwhile, it would be good for people to think about creating a TAP
testing regime for this.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On Sat, Sep 22, 2018 at 12:46:31PM -0400, Andrew Dunstan wrote:
Meanwhile, it would be good for people to think about creating a TAP testing
regime for this.
Patch 0001 from this email, or something rather similar to that, could
be used:
/messages/by-id/20180126080026.GI17847@paquier.xyz
--
Michael
On 09/22/2018 12:46 PM, Andrew Dunstan wrote:
In the interest of advancing $subject, I recently started a little
skunkworks project to get old postgres running on modern systems so we
could test if we'd broken backwards compatibility somehow. This was
given a fillip a few days ago when my colleague Gianni Ciolli
complained that it uses array syntax that isn't valid in 7.3 for the
-T option. So here is the result. Essentially I set up a (barely
workable) Fedora Core 2 VM and build Postgres 7.2.8 there. Then I
packed up the binaries and data directory and tried them on a modern
system (Fedora 28). It turns out they need a few old libraries, but
apart from that it works. So I have packaged all this up in a Vagrant
setup, which is available at <https://bitbucket.org/adunstan/oldpg>Next I'm going to work on a Docker image for this. I think that should
be fairly simple now I have this piece down.
OK, the repo now has a Dockerfile, and I have pushed a Docker image to
dockerhub. It can be pulled as andrewdunstan/postgres:pg7.2.8 That
should make it easy enough for many people to play with.
For testing, I think we'll need a way to specify where to connect to.
One simple way might be to set an environnment variable, like
REL7_2_TEST_CONNINFO="hostname=192.168.129.156 port=5478 user=postgres".
But ideally we want more than that - possibly some pre and post test
commands, such as "ssh dockerhost docker run -d --name pg72 -p 5478:5432
mycontainer" and "ssh dockerhost kill pg72". this would be easily
manageable in a buildfarm context, not sure how we should manage it in
core code, though.
cheers
andrew
--
Andrew Dunstan https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
q