Subject: Re: bump minimum supported version of psql and pg_{dump,dumpall,upgrade} to v10

From: Nathan Bossart <[email-masked]>
Date: Thu, 11 Jun 2026 09:21:28 -0500

rebased

-- 
nathan

---

From: Nathan Bossart <[email-masked]>
Date: Mon, 29 Jun 2026 10:16:40 -0500

rebased

-- 
nathan

---

From: Fujii Masao <[email-masked]>
Date: Tue, 30 Jun 2026 12:36:39 +0900

> 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

---

From: Nathan Bossart <[email-masked]>
Date: Tue, 30 Jun 2026 15:18:51 -0500

> Thanks for updating the patches!

Appreciate the review.

> 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.

> Shouldn't this be updated as well?

Oops, yes.

> Shouldn't this be "< 1000" instead of "< 10"?

Yes.

> (GET_MAJOR_VERSION(cluster->major_version) <= 902) ?

Fixed.  I thought I had handled these, but apparently they got lost
somewhere.

> 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.

> In psql/tab-complete.in.c, shouldn't this comment be updated as well?

This also got lost along the way.  Fixed.

>     $ 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

---

From: Nathan Bossart <[email-masked]>
Date: Wed, 1 Jul 2026 10:55:01 -0500

> Please let me know if you feel otherwise.

FTR I'm planning to commit this tomorrow.

-- 
nathan

---

From: Nathan Bossart <[email-masked]>
Date: Thu, 2 Jul 2026 13:11:06 -0500

> FTR I'm planning to commit this tomorrow.

Committed.

-- 
nathan

---

From: Nathan Bossart <[email-masked]>
Date: Wed, 8 Jul 2026 16:43:46 -0500

I just noticed that I forgot to update AdjustUpgrade.pm accordingly.
Here's a patch.

-- 
nathan