Hi

I'm working with AWS RDS PG instances that have been created over time, and
that by now are a mix of several major/minor versions ranging from 12 to 15.
The initial configuration and management is done from an EC2 instance
running Debian 11, which has Postrgres 13.13.
I already found out that there are compatibility issues if I use the client
programs from the Debian VM when they're older than the server version.
To avoid this I tried to run the client programs from a dedicated PG
container image with the same version as the server.
So instead of running:

PGSERVICE=foobar psql

I would now run:

podman run -e PGSERVICE=foobar -v
$(pwd)/.pg_service.conf:/root/.pg_service.conf --rm -it
docker.io/library/postgres:15.3 psql

This is reasonably straightforward and seems to just work.
Now that I have a way to pick whatever client version I need, I wonder what
the best strategy is wrt versions...
Keeping them exactly the same, or is it better to always use the latest
client version?
I know that the latter is a bit easier as one can just pick an untagged
container image, because that corresponds to the latest version.
Also I'm thinking that using the latest version of pg_dump/pg_restore
allows you to have more options.

thx

Dick Visser

Reply via email to