Skip to content
Snippets Groups Projects
Commit b4bd6f6b authored by Bruce Momjian's avatar Bruce Momjian
Browse files

pg_upgrade: remove reference to autovacuum_multixact_freeze_max_age

autovacuum_multixact_freeze_max_age was added as a pg_ctl start
parameter in 9.3.X to prevent autovacuum from running.  However, only
some 9.3.X releases have autovacuum_multixact_freeze_max_age as it was
added in a minor PG 9.3 release.  It also isn't needed because -b turns
off autovacuum in 9.1+.

Without this fix, trying to upgrade from an early 9.3 release to 9.4
would fail.

Report by EDB

Backpatch through 9.3
parent cd74a151
Branches
Tags
No related merge requests found
...@@ -202,12 +202,13 @@ start_postmaster(ClusterInfo *cluster, bool throw_error) ...@@ -202,12 +202,13 @@ start_postmaster(ClusterInfo *cluster, bool throw_error)
#endif #endif
/* /*
* Using autovacuum=off disables cleanup vacuum and analyze, but freeze * Since PG 9.1, we have used -b to disable autovacuum. For earlier
* vacuums can still happen, so we set autovacuum_freeze_max_age and * releases, setting autovacuum=off disables cleanup vacuum and analyze,
* autovacuum_multixact_freeze_max_age to their maximums. We assume all * but freeze vacuums can still happen, so we set autovacuum_freeze_max_age
* datfrozenxid, relfrozenxid, and relminmxid values are less than a gap * to its maximum. (autovacuum_multixact_freeze_max_age was introduced
* of 2000000000 from the current xid counter, so autovacuum will not * after 9.1, so there is no need to set that.) We assume all datfrozenxid
* touch them. * and relfrozenxid values are less than a gap of 2000000000 from the current
* xid counter, so autovacuum will not touch them.
* *
* Turn off durability requirements to improve object creation speed, and * Turn off durability requirements to improve object creation speed, and
* we only modify the new cluster, so only use it there. If there is a * we only modify the new cluster, so only use it there. If there is a
...@@ -215,13 +216,11 @@ start_postmaster(ClusterInfo *cluster, bool throw_error) ...@@ -215,13 +216,11 @@ start_postmaster(ClusterInfo *cluster, bool throw_error)
* win on ext4. * win on ext4.
*/ */
snprintf(cmd, sizeof(cmd), snprintf(cmd, sizeof(cmd),
"\"%s/pg_ctl\" -w -l \"%s\" -D \"%s\" -o \"-p %d%s%s %s%s%s\" start", "\"%s/pg_ctl\" -w -l \"%s\" -D \"%s\" -o \"-p %d%s%s %s%s\" start",
cluster->bindir, SERVER_LOG_FILE, cluster->pgconfig, cluster->port, cluster->bindir, SERVER_LOG_FILE, cluster->pgconfig, cluster->port,
(cluster->controldata.cat_ver >= (cluster->controldata.cat_ver >=
BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? " -b" : BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? " -b" :
" -c autovacuum=off -c autovacuum_freeze_max_age=2000000000", " -c autovacuum=off -c autovacuum_freeze_max_age=2000000000",
(GET_MAJOR_VERSION(cluster->major_version) >= 903) ?
" -c autovacuum_multixact_freeze_max_age=2000000000" : "",
(cluster == &new_cluster) ? (cluster == &new_cluster) ?
" -c synchronous_commit=off -c fsync=off -c full_page_writes=off" : "", " -c synchronous_commit=off -c fsync=off -c full_page_writes=off" : "",
cluster->pgopts ? cluster->pgopts : "", socket_string); cluster->pgopts ? cluster->pgopts : "", socket_string);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment