Package: postgresql-client-common Version: 246 Hi, I am currently using the following postgresql-client package set: $ dpkg -l|grep postgresql ii postgresql-client 15+246 all front-end programs for PostgreSQL (supported version) ii postgresql-client-11 11.16-0+deb10u1 amd64 front-end programs for PostgreSQL 11 ii postgresql-client-12 12.4-1 amd64 front-end programs for PostgreSQL 12 ii postgresql-client-13 13.9-0+deb11u1 amd64 front-end programs for PostgreSQL 13 ii postgresql-client-14 14.2-1+b3 amd64 front-end programs for PostgreSQL 14 ri postgresql-client-15 15.1-1+b1 amd64 front-end programs for PostgreSQL 15 ii postgresql-client-common 246 all manager for multiple PostgreSQL client versions
When I connect with pg_dump to a <9.2 server version it cannot fallback to a proper (older) pg_dump version and it is trying to run the newest from the system, which is 15. This is resulting with the following mismatch: pg_dump: error: aborting because of server version mismatch pg_dump: detail: server version: 9.1.24; pg_dump version: 15.1 (Debian 15.1-1+b1) My quick and dirty fix was adding the pg_dump to the list of $cmdname. But this was not sufficient because the $version was set to 15, so I had to additionaly comment out the `if` statement (forcing the max_version). --- /usr/share/postgresql-common/pg_wrapper.old 2023-01-25 11:54:36.119793367 +0100 +++ /usr/share/postgresql-common/pg_wrapper 2023-01-25 11:52:37.810434143 +0100 @@ -127,11 +127,11 @@ # if we have no version yet, use the latest version. If we were called as psql, # pg_archivecleanup, or pg_isready, always use latest version -if (not $version or $cmdname =~ /^(psql|pg_archivecleanup|pg_isready)$/) { +if (not $version or $cmdname =~ /^(psql|pg_dump|pg_archivecleanup|pg_isready)$/) { my $max_version; - if ($version and $version < 9.2) { # psql 15 only supports PG 9.2+ + #if ($version and $version < 9.2) { # psql 15 only supports PG 9.2+ $max_version = 14; - } + #} $version = get_newest_version($cmdname, $max_version); } Then it works properly, selecting: $ pg_dump -V pg_dump (PostgreSQL) 14.2 (Debian 14.2-1+b3) and no more server mismatch Is it possible to fix this problem, so we have automatic fallback in this scenario? -- regards, Mariusz Białończyk https://skyboo.net | https://github.com/manio