Skip to content

Commit b030697

Browse files
Refuse upgrades from pre-9.0 clusters
Commit 695b4a1 added a dependency on retrieving oldestxid from pg_control, which only exists in 9.0 and onwards, but the check for 8.4 as the oldest version was retained. Since there has been few if any complaints of 8.4 upgrades not working, fix by setting 9.0 as the oldest version supported rather than resurrecting 8.4 support. Backpatch to all supported versions. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/1973418.1657040382@sss.pgh.pa.us Backpatch-through: v12
1 parent 9489f3c commit b030697

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

doc/src/sgml/ref/pgupgrade.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ PostgreSQL documentation
6767
</para>
6868

6969
<para>
70-
pg_upgrade supports upgrades from 8.4.X and later to the current
70+
pg_upgrade supports upgrades from 9.0.X and later to the current
7171
major release of <productname>PostgreSQL</productname>, including snapshot and beta releases.
7272
</para>
7373
</refsect1>

src/bin/pg_upgrade/check.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,8 +279,13 @@ check_cluster_versions(void)
279279
* upgrades
280280
*/
281281

282-
if (GET_MAJOR_VERSION(old_cluster.major_version) < 804)
283-
pg_fatal("This utility can only upgrade from PostgreSQL version 8.4 and later.\n");
282+
/*
283+
* The minimum version supported when this code shipped in a major version
284+
* was 8.4. This has since been raised to 9.0, but the support code for
285+
* dealing with 8.4 remains to avoid refactoring in a backbranch.
286+
*/
287+
if (GET_MAJOR_VERSION(old_cluster.major_version) < 900)
288+
pg_fatal("This utility can only upgrade from PostgreSQL version 9.0 and later.\n");
284289

285290
/* Only current PG version is supported as a target */
286291
if (GET_MAJOR_VERSION(new_cluster.major_version) != GET_MAJOR_VERSION(PG_VERSION_NUM))

0 commit comments

Comments
 (0)