Commit b4bd6f6b authored by Bruce Momjian's avatar Bruce Momjian

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
...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment