From 0d0b2bf175a53dfedcc0cb69eaba7576b0c286f2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 10 May 2014 19:46:19 -0400 Subject: [PATCH] Rename min_recovery_apply_delay to recovery_min_apply_delay. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per discussion, this seems like a more consistent choice of name. Fabrízio de Royes Mello, after a suggestion by Peter Eisentraut; some additional documentation wordsmithing by me --- doc/src/sgml/recovery-config.sgml | 16 ++++++++-------- doc/src/sgml/release-9.4.sgml | 4 ++-- src/backend/access/transam/recovery.conf.sample | 16 ++++++++-------- src/backend/access/transam/xlog.c | 17 +++++++++-------- 4 files changed, 27 insertions(+), 26 deletions(-) diff --git a/doc/src/sgml/recovery-config.sgml b/doc/src/sgml/recovery-config.sgml index 0e78d909b5..762207ebea 100644 --- a/doc/src/sgml/recovery-config.sgml +++ b/doc/src/sgml/recovery-config.sgml @@ -403,15 +403,15 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows - - min_recovery_apply_delay (integer) + + recovery_min_apply_delay (integer) - min_recovery_apply_delay recovery parameter + recovery_min_apply_delay recovery parameter - By default, a standby server keeps restoring WAL records from the + By default, a standby server restores WAL records from the primary as soon as possible. It may be useful to have a time-delayed copy of the data, offering various options to correct data loss errors. This parameter allows you to delay recovery by a fixed period of time, @@ -428,15 +428,15 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows in transfer because of networks or cascading replication configurations may reduce the actual wait time significantly. If the system clocks on master and standby are not synchronised, this may lead to - recovery applying records earlier than expected but is not a major issue - because the useful settings of the parameter are much larger than - typical time deviation between the servers. Be careful to allow for + recovery applying records earlier than expected; but that is not a + major issue because useful settings of the parameter are much larger + than typical time deviations between servers. Be careful to allow for different timezone settings on master and standby. The delay occurs only on WAL records for COMMIT and Restore Points. Other records may be replayed earlier than the specified delay, which - is not an issue for MVCC though may potentially increase the number + is not an issue for MVCC though it may potentially increase the number of recovery conflicts generated. diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 21c6fc77f7..f627113c99 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -775,10 +775,10 @@ - Allow recovery.conf parameter min_recovery_apply_delay + linkend="recovery-min-apply-delay">recovery_min_apply_delay to force delayed replication (Robert Haas, Fabrízio de Royes Mello, Simon Riggs) diff --git a/src/backend/access/transam/recovery.conf.sample b/src/backend/access/transam/recovery.conf.sample index 2612a7df9f..745f27033a 100644 --- a/src/backend/access/transam/recovery.conf.sample +++ b/src/backend/access/transam/recovery.conf.sample @@ -129,20 +129,20 @@ # # By default, a standby server keeps restoring XLOG records from the # primary indefinitely. If you want to stop the standby mode, finish recovery -# and open the system in read/write mode, specify path to a trigger file. +# and open the system in read/write mode, specify a path to a trigger file. # The server will poll the trigger file path periodically and start as a # primary server when it's found. # #trigger_file = '' # -# By default, a standby server keeps restoring XLOG records from the -# primary as soon as possible. If you want to explicitly delay the replay of -# committed transactions from the master, specify a recovery apply delay. -# For example, if you set this parameter to 5min, the standby will replay -# each transaction commit only when the system time on the standby is at -# least five minutes past the commit time reported by the master. +# By default, a standby server restores XLOG records from the primary as +# soon as possible. If you want to explicitly delay the replay of committed +# transactions from the master, specify a minimum apply delay. For example, +# if you set this parameter to 5min, the standby will replay each transaction +# commit only when the system time on the standby is at least five minutes +# past the commit time reported by the master. # -#min_recovery_apply_delay = 0 +#recovery_min_apply_delay = 0 # #--------------------------------------------------------------------------- # HOT STANDBY PARAMETERS diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 3406fa5a29..3d752c6418 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -223,7 +223,7 @@ static bool recoveryPauseAtTarget = true; static TransactionId recoveryTargetXid; static TimestampTz recoveryTargetTime; static char *recoveryTargetName; -static int min_recovery_apply_delay = 0; +static int recovery_min_apply_delay = 0; static TimestampTz recoveryDelayUntilTime; /* options taken from recovery.conf for XLOG streaming */ @@ -5236,18 +5236,19 @@ readRecoveryCommandFile(void) (errmsg_internal("trigger_file = '%s'", TriggerFile))); } - else if (strcmp(item->name, "min_recovery_apply_delay") == 0) + else if (strcmp(item->name, "recovery_min_apply_delay") == 0) { const char *hintmsg; - if (!parse_int(item->value, &min_recovery_apply_delay, GUC_UNIT_MS, + if (!parse_int(item->value, &recovery_min_apply_delay, GUC_UNIT_MS, &hintmsg)) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("parameter \"%s\" requires a temporal value", "min_recovery_apply_delay"), + errmsg("parameter \"%s\" requires a temporal value", + "recovery_min_apply_delay"), hintmsg ? errhint("%s", _(hintmsg)) : 0)); ereport(DEBUG2, - (errmsg("min_recovery_apply_delay = '%s'", item->value))); + (errmsg("recovery_min_apply_delay = '%s'", item->value))); } else ereport(FATAL, @@ -5669,7 +5670,7 @@ SetRecoveryPause(bool recoveryPause) } /* - * When min_recovery_apply_delay is set, we wait long enough to make sure + * When recovery_min_apply_delay is set, we wait long enough to make sure * certain record types are applied at least that interval behind the master. * * Returns true if we waited. @@ -5690,7 +5691,7 @@ recoveryApplyDelay(XLogRecord *record) int microsecs; /* nothing to do if no delay configured */ - if (min_recovery_apply_delay == 0) + if (recovery_min_apply_delay == 0) return false; /* @@ -5711,7 +5712,7 @@ recoveryApplyDelay(XLogRecord *record) return false; recoveryDelayUntilTime = - TimestampTzPlusMilliseconds(xtime, min_recovery_apply_delay); + TimestampTzPlusMilliseconds(xtime, recovery_min_apply_delay); /* * Exit without arming the latch if it's already past time to apply this