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


Reply via email to