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