testing pg_dump against very old versions

Started by Andrew Dunstanover 7 years ago3 messages
#1Andrew Dunstan
andrew.dunstan@2ndquadrant.com

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&gt;

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

#2Michael Paquier
michael@paquier.xyz
In reply to: Andrew Dunstan (#1)
Re: testing pg_dump against very old versions

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

#3Andrew Dunstan
andrew.dunstan@2ndquadrant.com
In reply to: Andrew Dunstan (#1)
Re: testing pg_dump against very old versions

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&gt;

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