Re: Offline enabling/disabling of data checksums
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Michael Banck <michael.banck@credativ.de>
Cc: Magnus Hagander <magnus@hagander.net>, Fabien COELHO <coelho@cri.ensmp.fr>, Sergei Kornilov <sk@zsrv.org>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-03-15T12:23:09Z
Lists: pgsql-hackers
On Fri, Mar 15, 2019 at 12:54:01PM +0100, Michael Banck wrote:
> 1. There's a typo in line 578 which makes it fail to compile:
>
> |src/bin/pg_checksums/pg_checksums.c:578:4: error: ‘y’ undeclared (first use in this function)
> | }y
I am wondering where you got this one. My local branch does not have
it, and the patch I sent does not seem to have it either.
> 2. Should the pqsignal() stuff only be setup in PG_MODE_ENABLE? Same
> with the controlfile_path?
PG_MODE_DISABLE needs controlfile_path as well. We could make the
cleanup only available when using --enable, the code just looked more
simple in its current shape. I think it's just more simple to set
everything unconditionally. This code may become more complicated in
the future.
> 3. There's (I think) leftover debug output in the following places:
>
> |+ printf(_("Renaming \"%s\" to \"%s\"\n"), controlfile_path,
> |+ controlfile_path_temp);
>
> |+ printf(_("Renaming \"%s\" to \"%s\"\n"), controlfile_path_temp,
> |+ controlfile_path);
>
> |+ printf(_("Syncing data folder\n"));
>
> (that one is debatable, we are mentioning this only in verbose mode in
> pg_basebackup but pg_checksums is more chatty anyway, so probably
> fine).
This is wanted. Many folks have been complaning on this thread about
crashes and such, surely we want logs about what happens :)
> |+ printf(_("Updating control file\n"));
>
> Besides to the syncing message (which is user-relevant cause they might
> wonder what is taking so long), the others seem to be implementation
> details we don't need to tell the user about.
Perhaps having them under --verbose makes more sense?
--
Michael
Commits
-
Reorganize Notes section in documentation of pg_checksums
- a7cc52370b2b 12.0 landed
-
Add option -N/--no-sync to pg_checksums
- e0090c869008 12.0 landed
-
Add options to enable and disable checksums in pg_checksums
- ed308d783790 12.0 landed
-
Refactor more code logic to update the control file
- 8b938d36f744 12.0 landed
-
Rename pg_verify_checksums to pg_checksums
- 6dd263cfaa84 12.0 landed
-
Fix cross-version compatibility checks of pg_verify_checksums
- 501f58359b59 11.3 landed
- c9ae7f704c67 12.0 landed
-
Add routine able to update the control file to src/common/
- ce6afc6823fb 12.0 landed