提交 ed5699dd 编写于 作者: B Bruce Momjian

In pg_upgrade, set synchronous_commit=off for the new cluster, to

improve performance when restoring the schema from the old cluster.

Backpatch to 9.2.
上级 5ed6546c
......@@ -208,13 +208,18 @@ start_postmaster(ClusterInfo *cluster)
* maximum. We assume all datfrozenxid and relfrozen values are less than
* a gap of 2000000000 from the current xid counter, so autovacuum will
* not touch them.
*
* synchronous_commit=off improves object creation speed, and we only
* modify the new cluster, so only use it there. If there is a crash,
* the new cluster has to be recreated anyway.
*/
snprintf(cmd, sizeof(cmd),
"\"%s/pg_ctl\" -w -l \"%s\" -D \"%s\" -o \"-p %d %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->controldata.cat_ver >=
BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? "-b" :
"-c autovacuum=off -c autovacuum_freeze_max_age=2000000000",
BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? " -b" :
" -c autovacuum=off -c autovacuum_freeze_max_age=2000000000",
(cluster == &new_cluster) ? " -c synchronous_commit=off" : "",
cluster->pgopts ? cluster->pgopts : "", socket_string);
/*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册