Skip to content

Commit ccf3408

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 01e98e0 commit ccf3408

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
@@ -316,8 +316,13 @@ check_cluster_versions(void)
316316
* upgrades
317317
*/
318318

319-
if (GET_MAJOR_VERSION(old_cluster.major_version) < 804)
320-
pg_fatal("This utility can only upgrade from PostgreSQL version 8.4 and later.\n");
319+
/*
320+
* The minimum version supported when this code shipped in a major version
321+
* was 8.4. This has since been raised to 9.0, but the support code for
322+
* dealing with 8.4 remains to avoid refactoring in a backbranch.
323+
*/
324+
if (GET_MAJOR_VERSION(old_cluster.major_version) < 900)
325+
pg_fatal("This utility can only upgrade from PostgreSQL version 9.0 and later.\n");
321326

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

0 commit comments

Comments
 (0)