aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2018-10-19 22:44:12 +0900
committerMichael Paquier <michael@paquier.xyz>2018-10-19 22:44:12 +0900
commitd55241af705667d4503638e3f77d3689fd6be31d (patch)
tree57f797214aca24bb6e5ee449f9b5e10e8be2230c /src/backend/tcop/postgres.c
parent350410be459ccda7eeeea35b56b5f2d24391f90c (diff)
downloadpostgresql-d55241af705667d4503638e3f77d3689fd6be31d.tar.gz
postgresql-d55241af705667d4503638e3f77d3689fd6be31d.zip
Use whitelist to choose files scanned with pg_verify_checksums
The original implementation of pg_verify_checksums used a blacklist to decide which files should be skipped for scanning as they do not include data checksums, like pg_internal.init or pg_control. However, this missed two things: - Some files are created within builds of EXEC_BACKEND and these were not listed, causing failures on Windows. - Extensions may create custom files in data folders, causing the tool to equally fail. This commit switches to a whitelist-like method instead by checking if the files to scan are authorized relation files. This is close to a reverse-engineering of what is defined in relpath.c in charge of building the relation paths, and we could consider refactoring what this patch does so as all routines are in a single place. This is left for later. This is based on a suggestion from Andres Freund. TAP tests are updated so as multiple file patterns are tested. The bug has been spotted by various buildfarm members as a result of b34e84f which has introduced the TAP tests of pg_verify_checksums. Author: Michael Paquier Reviewed-by: Andrew Dunstan, Michael Banck Discussion: https://postgr.es/m/20181012005614.GC26424@paquier.xyz Backpatch-through: 11
Diffstat (limited to 'src/backend/tcop/postgres.c')
0 files changed, 0 insertions, 0 deletions