diff options
author | Fujii Masao <fujii@postgresql.org> | 2015-05-21 13:56:17 +0900 |
---|---|---|
committer | Fujii Masao <fujii@postgresql.org> | 2015-05-21 13:56:17 +0900 |
commit | 85d0e661aae656d3ec710dab24f883c4b4ef90da (patch) | |
tree | ba4fe1c82a0a095e45ef76b837bd64bc6bd9e95d /src/backend/access/transam/xlog.c | |
parent | a6a66bd647d471aeb55d8ba3e24d197ccd8a5abb (diff) | |
download | postgresql-85d0e661aae656d3ec710dab24f883c4b4ef90da.tar.gz postgresql-85d0e661aae656d3ec710dab24f883c4b4ef90da.zip |
Make recovery_target_action = pause work.
Previously even if recovery_target_action was set to pause and
the recovery target was reached, the recovery could never be paused.
Because the setting of pause was *always* overridden with that of
shutdown unexpectedly. This override is valid and intentional
if hot_standby is not enabled because there is no way to resume
the paused recovery in this case and the setting of pause is
completely useless. But not if hot_standby is enabled.
This patch changes the code so that the setting of pause is overridden
with that of shutdown only when hot_standby is not enabled.
Bug reported by Andres Freund
Diffstat (limited to 'src/backend/access/transam/xlog.c')
-rw-r--r-- | src/backend/access/transam/xlog.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 4af8fdc3642..3b44c9dade1 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5141,8 +5141,8 @@ readRecoveryCommandFile(void) */ if (recoveryTargetAction == RECOVERY_TARGET_ACTION_PAUSE && recoveryTargetActionSet && - standbyState == STANDBY_DISABLED) - recoveryTargetAction = RECOVERY_TARGET_ACTION_SHUTDOWN; + !EnableHotStandby) + recoveryTargetAction = RECOVERY_TARGET_ACTION_SHUTDOWN; /* Enable fetching from archive recovery area */ ArchiveRecoveryRequested = true; |