Re: Make pg_checksums complain if compiled BLCKSZ and data folder's block size differ
Fabien COELHO <coelho@cri.ensmp.fr>
From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>,
Magnus Hagander <magnus@hagander.net>,
Michael Banck <michael.banck@credativ.de>, Sergei Kornilov <sk@zsrv.org>
Date: 2019-03-16T08:18:34Z
Lists: pgsql-hackers
Bonjour Michaël, > If the block size the tool is compiled with does not match the data > folder block size, then users would get incorrect checksums failures, Or worse, incorrect checksump writing under "enabling"? Initial proposal: "%s: data directory block size %d is different to compiled-in block size %d.\n" > Has somebody a better wording for that? Attached is a proposal of > patch. "%s: database files are incompatible with pg_checksums.\n" "%s: The database cluster was initialized with BLCKSZ %u, but pg_checksums was compiled with BLCKSZ %u." Second line is missing a "\n". "pg_checksums" does not need to appear, it is already the progname, and if it differs there is no point in giving a wrong name. I think it could be shorter. What about: "%s: cannot compute checksums, command compiled with BLCKSZ %u but cluster initialized with BLCKSZ %u.\n" I think it would be better to adapt the checksum computation, but this is indeed non trivial because of the way the BLCKSZ constant is hardwired into type declarations. -- Fabien.
Commits
-
Error out in pg_verify_checksums on incompatible block size
- 5864d246099f 11.3 landed
-
Error out in pg_checksums on incompatible block size
- fa3395659561 12.0 landed