From 6e0777f4799bce027aa339629539cc101ed0f862 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 4 Feb 2019 09:28:17 +0100 Subject: [PATCH] Allow some recovery parameters to be changed with reload Change archive_cleanup_command promote_trigger_file recovery_end_command recovery_min_apply_delay from PGC_POSTMASTER to PGC_SIGHUP. This did not require any further changes. --- doc/src/sgml/config.sgml | 21 +++++++++++++++---- src/backend/utils/misc/guc.c | 8 +++---- src/backend/utils/misc/postgresql.conf.sample | 4 ---- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 9b7a7388d5..7e208a4b81 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -3081,8 +3081,7 @@ Archive Recovery This section describes the settings that apply only for the duration of the recovery. They must be reset for any subsequent recovery you wish to - perform. They can only be set at server start and cannot be changed once - recovery has begun. + perform. @@ -3161,6 +3160,10 @@ Archive Recovery database server shutdown) or an error by the shell (such as command not found), then recovery will abort and the server will not start up. + + + This parameter can only be set at server start. + @@ -3202,6 +3205,10 @@ Archive Recovery terminated by a signal or an error by the shell (such as command not found), a fatal error will be raised. + + This parameter can only be set in the postgresql.conf + file or on the server command line. + @@ -3227,6 +3234,10 @@ Archive Recovery signal or an error by the shell (such as command not found), the database will not proceed with startup. + + This parameter can only be set in the postgresql.conf + file or on the server command line. + @@ -3863,7 +3874,8 @@ Standby Servers standby. Even if this value is not set, you can still promote the standby using pg_ctl promote or calling pg_promote. - This parameter can only be set at server start. + This parameter can only be set in the postgresql.conf + file or on the server command line. @@ -4117,7 +4129,8 @@ Standby Servers - This parameter can only be set at server start. + This parameter can only be set in the postgresql.conf + file or on the server command line. diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 8681ada33a..ea5444c6f1 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -2047,7 +2047,7 @@ static struct config_int ConfigureNamesInt[] = }, { - {"recovery_min_apply_delay", PGC_POSTMASTER, REPLICATION_STANDBY, + {"recovery_min_apply_delay", PGC_SIGHUP, REPLICATION_STANDBY, gettext_noop("Sets the minimum delay for applying changes during recovery."), NULL, GUC_UNIT_MS @@ -3398,7 +3398,7 @@ static struct config_string ConfigureNamesString[] = }, { - {"archive_cleanup_command", PGC_POSTMASTER, WAL_ARCHIVE_RECOVERY, + {"archive_cleanup_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY, gettext_noop("Sets the shell command that will be executed at every restart point."), NULL }, @@ -3408,7 +3408,7 @@ static struct config_string ConfigureNamesString[] = }, { - {"recovery_end_command", PGC_POSTMASTER, WAL_ARCHIVE_RECOVERY, + {"recovery_end_command", PGC_SIGHUP, WAL_ARCHIVE_RECOVERY, gettext_noop("Sets the shell command that will be executed once at the end of recovery."), NULL }, @@ -3474,7 +3474,7 @@ static struct config_string ConfigureNamesString[] = }, { - {"promote_trigger_file", PGC_POSTMASTER, REPLICATION_STANDBY, + {"promote_trigger_file", PGC_SIGHUP, REPLICATION_STANDBY, gettext_noop("Specifies a file name whose presence ends recovery in the standby."), NULL }, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index c7f53470df..ad6c436f93 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -244,9 +244,7 @@ # e.g. 'cp /mnt/server/archivedir/%f %p' # (change requires restart) #archive_cleanup_command = '' # command to execute at every restartpoint - # (change requires restart) #recovery_end_command = '' # command to execute at completion of recovery - # (change requires restart) # - Recovery Target - @@ -310,7 +308,6 @@ #primary_slot_name = '' # replication slot on sending server # (change requires restart) #promote_trigger_file = '' # file name whose presence ends recovery - # (change requires restart) #hot_standby = on # "off" disallows queries during recovery # (change requires restart) #max_standby_archive_delay = 30s # max delay before canceling queries @@ -329,7 +326,6 @@ #wal_retrieve_retry_interval = 5s # time to wait before retrying to # retrieve WAL after a failed attempt #recovery_min_apply_delay = 0 # minimum delay for applying changes during recovery - # (change requires restart) # - Subscribers - -- 2.20.1