]> granicus.if.org Git - postgresql/commit
Fix pause_at_recovery_target + recovery_target_inclusive combination.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 8 Jan 2014 21:06:03 +0000 (23:06 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 8 Jan 2014 21:30:46 +0000 (23:30 +0200)
commit3aefff422a9b0fffa7e3a6affdbf491a20c3abaa
tree06c7c6cedeeb58175df543589c62c27329bc111a
parent425bef6ee7f210c991f35dff4b3ed6691818c610
Fix pause_at_recovery_target + recovery_target_inclusive combination.

If pause_at_recovery_target is set, recovery pauses *before* applying the
target record, even if recovery_target_inclusive is set. If you then
continue with pg_xlog_replay_resume(), it will apply the target record
before ending recovery. In other words, if you log in while it's paused
and verify that the database looks OK, ending recovery changes its state
again, possibly destroying data that you were tring to salvage with PITR.

Backpatch to 9.1, this has been broken since pause_at_recovery_target was
added.
src/backend/access/transam/xlog.c