pgsql: Skip foreign tablespaces when running pg_checksums/pg_verify_che - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Skip foreign tablespaces when running pg_checksums/pg_verify_che
Date
Msg-id E1j7Cp9-0006nX-TX@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Skip foreign tablespaces when running pg_checksums/pg_verify_checksums

Attempting to use pg_checksums (pg_verify_checksums in 11) on a data
folder which includes tablespace paths used across multiple major
versions would cause pg_checksums to scan all directories present in
pg_tblspc, and not only marked with TABLESPACE_VERSION_DIRECTORY.  This
could lead to failures when for example running sanity checks on an
upgraded instance with --check.  Even worse, it was possible to rewrite
on-disk pages with --enable for a cluster potentially online.

This commit makes pg_checksums skip any directories not named
TABLESPACE_VERSION_DIRECTORY, similarly to what is done for base
backups.

Reported-by: Michael Banck
Author: Michael Banck, Bernd Helmle
Discussion: https://postgr.es/m/62031974fd8e941dd8351fbc8c7eff60d59c5338.camel@credativ.de
backpatch-through: 11

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8f9aba1874eccae860d5a6ced9b2899b2f7895b4

Modified Files
--------------
src/bin/pg_verify_checksums/pg_verify_checksums.c | 47 ++++++++++++++++++++++-
1 file changed, 46 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: pgsql: createdb: Fix quoting of --encoding, --lc-ctype and--lc-collate
Next
From: Michael Paquier
Date:
Subject: pgsql: Remove TAP test for createdb --lc-ctype