Re: pgsql: Make recovery_target_action = pause work. - Mailing list pgsql-committers

From Simon Riggs
Subject Re: pgsql: Make recovery_target_action = pause work.
Date
Msg-id CANP8+jLoOMkC4m+oVBVDF58d3X5RszRAxx30CGCsN74_36+=vA@mail.gmail.com
Whole thread Raw
In response to pgsql: Make recovery_target_action = pause work.  (Fujii Masao <fujii@postgresql.org>)
List pgsql-committers
On 21 May 2015 at 00:57, Fujii Masao <fujii@postgresql.org> wrote:
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

Note for archives: this is a bug, not a change in behaviour.

The original coding of standbyState == STANDBY_DISABLED
wasn't correct because standbyState > STANDBY_DISABLED only after we run InitRecoveryTransactionEnvironment() which happens later than this parameter check. 

--
Simon Riggs                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Correct two mistakes in the ALTER FOREIGN TABLE reference page.
Next
From: Tom Lane
Date:
Subject: pgsql: Improve packing/alignment annotation for ItemPointerData.