Rick Gigger <rick@alpinenetworking.com> writes:
> That's what I mean by invalid. Let's say I do something stupid and
> do a physical backup and I don't grab the current WAL file. All I
> have is the last one to be archived before I did my backup, which is
> not late enough to do a valid restore. Will postgres know that the
> restore process failed because I didn't have that last necessary WAL
> file or will it just start up in a potentially inconsistent state.
Yes:
/*
* Complain if we did not roll forward far enough to render the backup
* dump consistent.
*/
if (XLByteLT(EndOfLog, recoveryMinXlogOffset))
{
if (needNewTimeLine) /* stopped because of stop request */
ereport(FATAL,
(errmsg("requested recovery stop point is before end time of backup dump")));
else
/* ran off end of WAL */
ereport(FATAL,
(errmsg("WAL ends before end time of backup dump")));
}
regards, tom lane