• Michael Paquier's avatar
    Skip foreign tablespaces when running pg_checksums/pg_verify_checksums · 428a2609
    Michael Paquier authored
    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
    428a2609
002_actions.pl 7.6 KB