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