]> granicus.if.org Git - postgresql/commit
Change the retry-loop in standby mode to also try restoring files from
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 30 Mar 2010 16:23:57 +0000 (16:23 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 30 Mar 2010 16:23:57 +0000 (16:23 +0000)
commit2a77355ea1e53bc234ed0b5fda8ec9f304f6797a
tree29de480543436c02c9f18f4942eb9ccb68a4c581
parentfeb5087a34cbe7565ec351e6b3c9f94b627acb32
Change the retry-loop in standby mode to also try restoring files from
pg_xlog directory. This is essential for replaying WAL records that
were streamed from the master, after a standby server restart.

If a corrupt record is seen in a file restored from the archive or
streamed from the master, log it as a WARNING and keep retrying. If the
corruption is permanent, and not just a glitch in the whatever copies the
files to the archive or a network error not caught by CRC checks in TCP
for example, we will keep retrying and logging the WARNING indefinitely.
But that's better than shutting down completely, the standby is still
useful for running read-only queries. In PITR the recovery ends at such a
corrupt record, which is a bit questionable, but that's the behavior we
had in previous releases and we don't feel like chaning it now. It does
make sense for tools like pg_standby.
src/backend/access/transam/xlog.c