pgsql: Fix various checksum check problems for pg_verify_checksums and

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix various checksum check problems for pg_verify_checksums and
Date: 2018-11-30 01:36:43
Message-ID: E1gSXjX-0003Oh-Vi@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix various checksum check problems for pg_verify_checksums and base backups

Three issues are fixed in this patch:
- Base backups forgot to ignore files specific to EXEC_BACKEND, leading
to spurious warnings when checksums are enabled, per analysis from me.
- pg_verify_checksums forgot about files specific to EXEC_BACKEND,
leading to failures of the tool on any such build, particularly Windows.
This error was originally found by newly-introduced TAP tests in various
buildfarm members using EXEC_BACKEND.
- pg_verify_checksums forgot to count for temporary files and temporary
paths, which could be valid relation files, without checksums, per
report from Andres Freund. More tests are added to cover this case.

A new test case which emulates corruption for a file in a different
tablespace is added, coming from from Michael Banck, while I have coded
the main code and refactored the test code.

Author: Michael Banck, Michael Paquier
Reviewed-by: Stephen Frost, David Steele
Discussion: https://postgr.es/m/20181021134206.GA14282@paquier.xyz

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/19516afdf167aeaf9e95edf7c5a105bb16f8914c

Modified Files
--------------
src/backend/replication/basebackup.c | 7 +++++
src/bin/pg_verify_checksums/pg_verify_checksums.c | 33 +++++++++++++++++++----
2 files changed, 35 insertions(+), 5 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2018-11-30 02:02:33 Re: pgsql: Add TAP tests for pg_verify_checksums
Previous Message Tom Lane 2018-11-29 23:28:30 pgsql: Document handling of invalid/ambiguous timestamp input near DST