This if-block is misplaced: > case RECOVERY_TARGET_STOP_IMMEDIATE: > case RECOVERY_TARGET_STOP_XID: > case RECOVERY_TARGET_STOP_TIME: > paused = false; > break; > > /* > * If we're paused, and mode has changed reset to allow > new settings > * to apply and maybe allow us to continue. > */ > if (paused && prevRecoveryTargetMode != > recoveryTargetMode) > paused = false; > > case RECOVERY_TARGET_PAUSE_XID:
Where was that supposed to go? In advance-mode, we will merrilly skip over a WAL record that's a recovery stop target. Is that a bug or a feature? If you pause recovery, and then continue, we reset to "target none" mode, even if a stopping point was set previously. That doesn't seem right to me. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
