Re: bump minimum supported version of psql and pg_{dump,dumpall,upgrade} to v10
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Andrew Dunstan <andrew@dunslane.net>, Tom Lane <tgl@sss.pgh.pa.us>, Corey Huinker <corey.huinker@gmail.com>, pgsql-hackers@postgresql.org
Date: 2026-06-30T03:36:39Z
Lists: pgsql-hackers
On Tue, Jun 30, 2026 at 12:16 AM Nathan Bossart
<nathandbossart@gmail.com> wrote:
>
> rebased
Thanks for updating the patches!
Regarding 0001 patch:
Wouldn't it make sense to document the minimum supported server
version also in the pg_dumpall docs?
/*
* We allow the server to be back to 9.2, and up to any minor release of
* our own major version. (See also version check in pg_dump.c.)
*/
if (my_version != server_version_temp
&& (server_version_temp < 90200 ||
(server_version_temp / 100) > (my_version / 100)))
Shouldn't this be updated as well?
Regarding 0002 patch:
- if (GET_MAJOR_VERSION(old_cluster.major_version) < 902)
+ if (GET_MAJOR_VERSION(old_cluster.major_version) < 10)
Shouldn't this be "< 1000" instead of "< 10"?
According to the following git grep results, there still seem to be
several code paths for pre-v10 support. Should those also be updated or
removed?
$ git grep -E "GET_MAJOR_VERSION.* 9"
src/bin/pg_upgrade/controldata.c: if
(GET_MAJOR_VERSION(cluster->bin_version) <= 906)
src/bin/pg_upgrade/controldata.c: if
(GET_MAJOR_VERSION(cluster->major_version) <= 902)
src/bin/pg_upgrade/controldata.c: else if
(GET_MAJOR_VERSION(cluster->major_version) >= 906)
src/bin/pg_upgrade/controldata.c: if
(GET_MAJOR_VERSION(cluster->major_version) <= 902)
src/bin/pg_upgrade/server.c:
(GET_MAJOR_VERSION(cluster->major_version) <= 902) ?
# --swap can't be used to upgrade from versions older than 10, so just skip
# the test if the old cluster version is too old.
if ($old->pg_version < 10 && $mode eq "--swap")
In pg_upgrade/t/006_transfer_modes.pl, shouldn't this simply be
"if ($old->pg_version < 10)" so that the test is skipped whenever
the old cluster is pre-v10?
Regarding 0003 patch:
/*
* These object types were introduced later than our support cutoff of
* server version 9.2. We use the VersionedQuery infrastructure so that
* we don't send certain-to-fail queries to older servers.
*/
In psql/tab-complete.in.c, shouldn't this comment be updated as well?
Overall, the following git grep results seem to suggest that there are several
comments referring to pre-v10 support that may also need updating:
$ git grep " 9\.[0-6]" | grep -E "pg_dump|pg_upgrade|psql" | grep -v "\.po:"
Regards,
--
Fujii Masao
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove pg_dump/pg_dumpall support for dumping from pre-v10 servers.
- 3a0a30884fd0 master landed
-
Remove pg_upgrade support for upgrading from pre-v10 servers.
- 14d841808307 master landed
-
Remove psql support for pre-v10 servers.
- 831bec45924a master landed
-
Run pgindent and pgperltidy for previous 3 commits.
- d69fdf79b8ba master landed