Re: bump minimum supported version of psql and pg_{dump,dumpall,upgrade} to v10
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Fujii Masao <masao.fujii@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-30T20:18:51Z
Lists: pgsql-hackers
Attachments
On Tue, Jun 30, 2026 at 12:36:39PM +0900, Fujii Masao wrote: > Thanks for updating the patches! Appreciate the review. > Regarding 0001 patch: > > Wouldn't it make sense to document the minimum supported server > version also in the pg_dumpall docs? Yes, I think so. However, since that's an additive change and not directly related to $subject, I'd like to tackle it separately. Folks might have preferences on the wording. > /* > * 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? Oops, yes. > 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"? Yes. > 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) ? Fixed. I thought I had handled these, but apparently they got lost somewhere. > # --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? I think we can remove it entirely. We don't block for <v9.2 today, so I see no need to make it robust against invalid test setups. > 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? This also got lost along the way. Fixed. > 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:" I didn't see anything else that I thought obviously needed to be changed. Please let me know if you feel otherwise. -- nathan
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