On Sat, Mar 16, 2019 at 11:18:17AM +0100, Magnus Hagander wrote: > BLCKSZ is very much an internal term. The exposed name through pg_settings > is block_size, so I think the original was better. Combining that one with > yours into "initialized with block size %d" etc, makes it a lot nicer.
Yes, what Fabien and you say here makes sense. > The "incompatible with pg_checksums" part may be a bit redundant with the > commandname at the start as well, as I now realized Fabien pointed out > downthread. But I would suggest just cutting it and saying "%s: database > files are incompatible" or maybe "%s: data directory is incompatible" even? "Cluster" is more consistent with the surroundings. So what about the attached then? -- Michael
diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c index 5d4083fa9f..b7ebc11017 100644 --- a/src/bin/pg_checksums/pg_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -327,6 +327,15 @@ main(int argc, char *argv[]) exit(1); } + if (ControlFile->blcksz != BLCKSZ) + { + fprintf(stderr, _("%s: database cluster is not compatible.\n"), + progname); + fprintf(stderr, _("The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u.\n"), + ControlFile->blcksz, BLCKSZ); + exit(1); + } + if (ControlFile->state != DB_SHUTDOWNED && ControlFile->state != DB_SHUTDOWNED_IN_RECOVERY) {
signature.asc
Description: PGP signature