Re: Online enabling of checksums
Michael Banck <michael.banck@credativ.de>
From: Michael Banck <michael.banck@credativ.de>
To: Magnus Hagander <magnus@hagander.net>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Greg Stark <stark@mit.edu>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Daniel Gustafsson <daniel@yesql.se>
Date: 2018-03-04T14:24:18Z
Lists: pgsql-hackers
Hi,
On Sat, Mar 03, 2018 at 07:23:31PM +0100, Magnus Hagander wrote:
> diff --git a/src/bin/pg_verify_checksums/pg_verify_checksums.c b/src/bin/pg_verify_checksums/pg_verify_checksums.c
> new file mode 100644
> index 0000000000..a4bfe7284d
> --- /dev/null
> +++ b/src/bin/pg_verify_checksums/pg_verify_checksums.c
> @@ -0,0 +1,308 @@
[...]
> +/*
> + * pg_verify_checksums
> + *
> + * Verifies page level checksums in an offline cluster
> + *
> + * Copyright (c) 2010-2018, PostgreSQL Global Development Group
Weird copyright statement for a new file, did you base it off another
one, or just copy-pasted the boilerplate?
[...]
> + csum = pg_checksum_page(buf, blockno + segmentno*RELSEG_SIZE);
> + if (csum != header->pd_checksum)
> + {
> + if (ControlFile->data_checksum_version == PG_DATA_CHECKSUM_VERSION)
> + fprintf(stderr, _("%s: %s, block %d, invalid checksum in file %X, calculated %X\n"),
> + progname, fn, blockno, header->pd_checksum, csum);
The error message sounds a bit strange to me, I would expect the
filename after "in file [...]", but you print the expected checksum.
Also, 'invalid' sounds a bit like we found something which is malformed
checksum (no hex), so maybe "checksum mismatch in file, expected %X,
found %X" or something?
Michael
--
Michael Banck
Projektleiter / Senior Berater
Tel.: +49 2166 9901-171
Fax: +49 2166 9901-100
Email: michael.banck@credativ.de
credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer
Commits
-
Online enabling and disabling of data checksums
- f19c0eccae96 19 (unreleased) landed
-
Deactive flapping checksum isolation tests.
- bf75fe47e444 11.0 landed
-
Add support for coordinating record typmods among parallel workers.
- cc5f81366c36 11.0 cited