| From: | Daniel Gustafsson <daniel(at)yesql(dot)se> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
| Cc: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Offline data checksum changes can cause incorrect checksum state on standbys |
| Date: | 2026-09-07 12:26:12 |
| Message-ID: | EEDD4739-9636-4E8B-A363-A79CE957D01D@yesql.se |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> On 7 Sep 2026, at 13:08, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
> Thanks, I started to review this now. I'm still at patch 0001, haven't looked at the rest yet, but some quick comments on that one:
Thanks for reviewing!
> Let's add a new 'sect2' for this explanation, and move it after the "Online Enabling of Checksums" section. It's currently placed under "Offline Enabling of Checksums", but it actually goes into a lot of details of how *online* checksumming works, but "Online Enabling of Checksums" is covered in the following paragraph. If you read this in order like a novel, it feels weird.
>
> I think these paragraphs could use some copy-editing too. It feels like a pretty deep technical explanation, not very accessible to a DBA. Maybe start with "The primary server and replica can have different checksum states".
>
> (Not new with this patch, but: )
Can, but really really shouldn't =) I'll try to rework the documentation here
to make it less dense.
> The placement of the states in the state diagram on that page looks bizarre. I know it's auto-generated so not sure there's much we can do about it.. but could we, please? Maybe it'd get more clear if you leave 'initdb' out of the diagram. Or consider some completely different representation.
I can try, maybe breaking it up into multiple diagrams could help?
> I'm still trying to understand all the different states and interactions between online and offline changes. It's really complicated :-(. I know it's a tall order, but is there something we could do to make it simpler?
If there was I'd love to try it, but across the many alteratives tried during
this open item there hasn't been anyhing less complicated which also solves the
problem. Combining a WAL logged procedure with one that can rewrite the data
directory without any WAL entries at all is inherently complicated.
> Would it help if there was a separate flag in the control file for "checksums enabled in primary" and "checksums enabled in this replica", for example?
Not sure I follow, should pg_checksums maintan such a flag or the StartupXLOG?
--
Daniel Gustafsson
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Priyanka S | 2026-09-07 12:27:18 | Re: [PATCH] Planner support function for generate_subscripts() |
| Previous Message | prankware | 2026-09-07 12:23:39 | Re: COALESCE patch |