diff options
author | Daniel Gustafsson <dgustafsson@postgresql.org> | 2024-05-17 14:24:27 +0200 |
---|---|---|
committer | Daniel Gustafsson <dgustafsson@postgresql.org> | 2024-05-17 14:24:27 +0200 |
commit | ccf3408cff539d21256f14a350dd156c8bee05ef (patch) | |
tree | 7956065f5809c0e1e6ea440d0bf6d82a7dafb51c /src | |
parent | 01e98e0cdd36167f01b6d618486897eea1cfd09d (diff) |
Refuse upgrades from pre-9.0 clusters
Commit 695b4a113ab 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
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_upgrade/check.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index dc060418e50..26dae5681a7 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -316,8 +316,13 @@ check_cluster_versions(void) * upgrades */ - if (GET_MAJOR_VERSION(old_cluster.major_version) < 804) - pg_fatal("This utility can only upgrade from PostgreSQL version 8.4 and later.\n"); + /* + * The minimum version supported when this code shipped in a major version + * was 8.4. This has since been raised to 9.0, but the support code for + * dealing with 8.4 remains to avoid refactoring in a backbranch. + */ + if (GET_MAJOR_VERSION(old_cluster.major_version) < 900) + pg_fatal("This utility can only upgrade from PostgreSQL version 9.0 and later.\n"); /* Only current PG version is supported as a target */ if (GET_MAJOR_VERSION(new_cluster.major_version) != GET_MAJOR_VERSION(PG_VERSION_NUM)) |