From 84725aa5efe11688633b553e58113efce4181f2e Mon Sep 17 00:00:00 2001 From: Simon Riggs Date: Sat, 2 Feb 2013 18:49:54 +0000 Subject: [PATCH] Mark vacuum_defer_cleanup_age as PGC_POSTMASTER. Following bug analysis of #7819 by Tom Lane --- doc/src/sgml/config.sgml | 3 +-- src/backend/utils/misc/guc.c | 7 ++++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 175d1d5ebf..d8b4f28255 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -2356,8 +2356,7 @@ include 'filename' is measured in terms of number of write transactions occurring on the primary server, it is difficult to predict just how much additional grace time will be made available to standby queries. - This parameter can only be set in the postgresql.conf - file or on the server command line. + This parameter can only be set at server start. You should also consider setting hot_standby_feedback diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 6128694200..b0af9f5c9a 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1881,7 +1881,12 @@ static struct config_int ConfigureNamesInt[] = }, { - {"vacuum_defer_cleanup_age", PGC_SIGHUP, REPLICATION_MASTER, + /* + * Setting this to a higher value without restarting postmaster + * can cause various bugs in TOAST object removal, CLUSTER and + * possibly other places, so this must be changed only on restart. + */ + {"vacuum_defer_cleanup_age", PGC_POSTMASTER, REPLICATION_MASTER, gettext_noop("Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."), NULL },