]> granicus.if.org Git - postgresql/commit
Check if we've reached end-of-backup point also if no redo is required.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 19 Dec 2012 12:13:23 +0000 (14:13 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 19 Dec 2012 12:20:09 +0000 (14:20 +0200)
commit8e1e8278c35be9b70e92c8b43a8f65b372dc269a
treeb7739b8bd31bb1143837f1dd4b2e13c913b976b5
parent31e0349a1694ceff82b389a9ff4ab6b888f3ab02
Check if we've reached end-of-backup point also if no redo is required.

If you restored from a backup taken from a standby, and the last record in
the backup is the checkpoint record, ie. there is no redo required except
for the checkpoint record, we would fail to notice that we've reached the
end-of-backup point, and the database is consistent. The result was an
error "WAL ends before end of online backup". To fix, move the
have-we-reached-end-of-backup check into CheckRecoveryConsistency(), which
is already responsible for similar checks with minRecoveryPoint, and is
called in the right places.

Backpatch to 9.2, this check and bug did not exist before that.
src/backend/access/transam/xlog.c