Re: Changing the state of data checksums in a running cluster

Daniel Gustafsson <daniel@yesql.se>

From: Daniel Gustafsson <daniel@yesql.se>
To: Tomas Vondra <tomas@vondra.me>
Cc: Andres Freund <andres@anarazel.de>, Bernd Helmle <mailings@oopsware.de>, Michael Paquier <michael@paquier.xyz>, Michael Banck <mbanck@gmx.net>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-12T22:56:40Z
Lists: pgsql-hackers

Attachments

> On 12 Mar 2026, at 00:56, Daniel Gustafsson <daniel@yesql.se> wrote:

One thing I forgot to mention was that this patch uncovered the same vmap (and
fsm) issue as is being discussed in [0].  At the time I didn't connect the dots
that it was an issue even without this patch so I tried to solve it as part of
this work.  After speaking with Andres I ripped out my attempts and will let
the other thread take care of the issue independently of this.

> * The change to XLOG_CHECKPOINT_REDO to move the wal_level into a proper record
>  structure should be pulled out as a 0001 patch as it's an cleanup that has
>  value on its own.

The attached rebase implements this by putting the XLOG_CHECKPOINT_REDO cleanup
as 0001.  This patch could (should?) be applied regardless of the fate of the
rest of the patchset.

--
Daniel Gustafsson

[0] CAAKRu_bn+e7F4yPFBgFbnP+syJRKyNK092bjD2LKvZW7O4Svag@mail.gmail.com

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Use correct datatype for PID

  2. Improve comments in online checksums code

  3. Fix checksum state transition during promotion

  4. Fix regex searching for page verification failures in tests

  5. Apply data-checksum worker throttling parameters

  6. Skip WAL for unlogged main fork during online checksum enable

  7. Fix data_checksum GUC show_hook

  8. Improve database detection logic in datachecksumsworker

  9. Improve handling of concurrent checksum requests

  10. Typo and spelling fixups for online checksums

  11. Fix invalid checksum state transition in checkpoints

  12. Handle data_checksum state changes during launcher_exit

  13. Test improvements for online checksums

  14. Prevent pg_enable/disable_data_checksums() on standby

  15. Test stabilization for online checksums

  16. Make data checksum tests more resilient for slow machines

  17. Formalize WAL record for XLOG_CHECKPOINT_REDO

  18. Revert "Get rid of WALBufMappingLock"

  19. Get rid of WALBufMappingLock

  20. Improve grammar of options for command arrays in TAP tests