Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting ignore_invalid_pages to on causes the system to ignore those WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. However, it may allow you to get past the PANIC-level error, to finish the recovery, and to cause the server to start up.
Author: Fujii Masao
41c184bc64 Add GUC ignore_invalid_pages.
doc/src/sgml/config.sgml | 25 +++++++++++++++++++++++++
src/backend/access/transam/xlogutils.c | 9 +++++++--
src/backend/utils/misc/guc.c | 20 ++++++++++++++++++++
3 files changed, 52 insertions(+), 2 deletions(-)