pgsql: Add WAL consistency checking facility.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Add WAL consistency checking facility.
Date: 2017-02-08 20:55:58
Message-ID: E1cbZHS-0004fx-3R@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add WAL consistency checking facility.

When the new GUC wal_consistency_checking is set to a non-empty value,
it triggers recording of additional full-page images, which are
compared on the standby against the results of applying the WAL record
(without regard to those full-page images). Allowable differences
such as hints are masked out, and the resulting pages are compared;
any difference results in a FATAL error on the standby.

Kuntal Ghosh, based on earlier patches by Michael Paquier and Heikki
Linnakangas. Extensively reviewed and revised by Michael Paquier and
by me, with additional reviews and comments from Amit Kapila, Álvaro
Herrera, Simon Riggs, and Peter Eisentraut.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/a507b86900f695aacc8d52b7d2cfcb65f58862a2

Modified Files
--------------
doc/src/sgml/config.sgml | 32 ++++++++
src/backend/access/brin/brin_xlog.c | 20 +++++
src/backend/access/common/Makefile | 4 +-
src/backend/access/common/bufmask.c | 128 ++++++++++++++++++++++++++++++
src/backend/access/gin/ginxlog.c | 32 ++++++++
src/backend/access/gist/gistxlog.c | 43 ++++++++++
src/backend/access/heap/heapam.c | 79 ++++++++++++++++++
src/backend/access/nbtree/nbtxlog.c | 50 ++++++++++++
src/backend/access/rmgrdesc/gindesc.c | 14 +++-
src/backend/access/spgist/spgxlog.c | 21 +++++
src/backend/access/transam/generic_xlog.c | 12 +++
src/backend/access/transam/rmgr.c | 4 +-
src/backend/access/transam/xlog.c | 120 ++++++++++++++++++++++++++++
src/backend/access/transam/xloginsert.c | 38 +++++++--
src/backend/access/transam/xlogreader.c | 8 ++
src/backend/access/transam/xlogutils.c | 11 +--
src/backend/commands/sequence.c | 12 +++
src/backend/utils/misc/guc.c | 97 ++++++++++++++++++++++
src/bin/pg_rewind/parsexlog.c | 2 +-
src/bin/pg_xlogdump/pg_xlogdump.c | 16 +++-
src/bin/pg_xlogdump/rmgrdesc.c | 2 +-
src/include/access/brin_xlog.h | 1 +
src/include/access/bufmask.h | 33 ++++++++
src/include/access/generic_xlog.h | 1 +
src/include/access/gin.h | 1 +
src/include/access/gist_private.h | 1 +
src/include/access/heapam_xlog.h | 1 +
src/include/access/nbtree.h | 1 +
src/include/access/rmgr.h | 2 +-
src/include/access/rmgrlist.h | 44 +++++-----
src/include/access/spgist.h | 1 +
src/include/access/xlog.h | 2 +
src/include/access/xlog_internal.h | 6 +-
src/include/access/xlogreader.h | 5 +-
src/include/access/xlogrecord.h | 14 +++-
src/include/commands/sequence.h | 1 +
36 files changed, 811 insertions(+), 48 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2017-02-08 23:05:23 pgsql: Fix roundoff problems in float8_timestamptz() and make_interval(
Previous Message Stephen Frost 2017-02-08 04:02:40 Re: PUBLICATIONS and pg_dump