diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index a3113081008..79e438ca01c 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -2288,8 +2288,7 @@ SET ENABLE_SEQSCAN TO OFF; 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 c37c1d9a5fb..25722fac68d 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1880,7 +1880,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 },