pgsql: Skip foreign tablespaces when running pg_checksums/pg_verify_che
От | Michael Paquier |
---|---|
Тема | pgsql: Skip foreign tablespaces when running pg_checksums/pg_verify_che |
Дата | |
Msg-id | E1j7Cp9-0006nT-S6@gemulon.postgresql.org обсуждение исходный текст |
Список | 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 ------ master Details ------- https://git.postgresql.org/pg/commitdiff/428a2609ef64b69d709418a50e192ff11a2643f1 Modified Files -------------- src/bin/pg_checksums/pg_checksums.c | 47 ++++++++++++++++++++++++++++++++++- src/bin/pg_checksums/t/002_actions.pl | 9 ++++++- 2 files changed, 54 insertions(+), 2 deletions(-)
В списке pgsql-committers по дате отправления: