Re: Offline enabling/disabling of data checksums
Magnus Hagander <magnus@hagander.net>
From: Magnus Hagander <magnus@hagander.net>
To: Sergei Kornilov <sk@zsrv.org>
Cc: Michael Paquier <michael@paquier.xyz>,
Fabien COELHO <coelho@cri.ensmp.fr>, Michael Banck <michael.banck@credativ.de>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2019-03-13T11:43:49Z
Lists: pgsql-hackers
On Wed, Mar 13, 2019 at 12:40 PM Sergei Kornilov <sk@zsrv.org> wrote: > Hi > > >> One new question from me: how about replication? > >> Case: primary+replica, we shut down primary and enable checksum, and > "started streaming WAL from primary" without any issue. I have master with > checksums, but replica without. > >> Or cluster with checksums, then disable checksums on primary, but > standby think we have checksums. > > > > Enabling or disabling the checksums offline on the master quite clearly > requires a rebuild of the standby, there is no other way (this is one of > the reasons for the online enabling in that patch, so I still hope we can > get that done -- but not for this version). > > I mean this should be at least documented. > Change system id... Maybe is reasonable > I think this is dangerous enough that it needs to be enforced and not documented. Most people who care about checksums are also going to be having either replication or backup... >> Also we support ./configure --with-blocksize=(not equals 8)? make check > on HEAD fails for me. If we support this - i think we need recheck BLCKSZ > between compiled pg_checksum and used in PGDATA > > > > You mean if the backend and pg_checksums is built with different > blocksize? Yeah, that sounds like something which is a cheap check and > should be done. > > Yep > This one I could more live with it only being a documented problem rather than enforced, but it also seems very simple to enforce. -- Magnus Hagander Me: https://www.hagander.net/ <http://www.hagander.net/> Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>
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