Re: Changing the state of data checksums in a running cluster
Daniel Gustafsson <daniel@yesql.se>
Attachments
- v3-0008-Fix-data_checksum-GUC-show_hook.patch (application/octet-stream) patch v3-0008
- v3-0007-Improve-database-detection-logic-in-datachecksums.patch (application/octet-stream) patch v3-0007
- v3-0006-Improve-handling-of-concurrent-checksum-requests.patch (application/octet-stream) patch v3-0006
- v3-0005-Typo-and-spelling-fixups-for-online-checksums.patch (application/octet-stream) patch v3-0005
- v3-0004-Fix-invalid-checksum-state-transition-in-checkpoi.patch (application/octet-stream) patch v3-0004
- v3-0003-Handle-data_checksum-state-changes-during-launche.patch (application/octet-stream) patch v3-0003
- v3-0002-Test-improvements-for-online-checksums.patch (application/octet-stream) patch v3-0002
- v3-0001-Prevent-pg_enable-disable_data_checksums-on-stand.patch (application/octet-stream) patch v3-0001
> On 28 Apr 2026, at 22:25, SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com> wrote: > Should we update ControlFile->data_checksum_version at the end-of-recovery? If not, the disk > is stale compared to in memory until the next checkpoint. The code two lines below updates > the control file anyways to set the DB_IN_PRODUCTION. Maybe combine the update with that? > It's no big deal if we don't do it because it will be self correct but tools like pg_controldata > give stale value for some time. I've been thinking about this one and in the end went with adding it. It is written already with PerformRecoveryXLogAction but we might have an inprogress-off->off transition after that which seems better to reflect in the controlfile. Also, an off-list question on yesterday's bugfix made me realize that it can be simplified even further. Instead of tracking which processes need cleanup in the exit handler, we can simply defer installing it at all till we know that there will be cleanup to process. The attached also updates the commit messages to reflect the reviewers of this patchset as well as email id's. -- Daniel Gustafsson
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Use correct datatype for PID
- 0ca1b3010597 19 (unreleased) landed
-
Improve comments in online checksums code
- cd857dec0e0a 19 (unreleased) landed
-
Fix checksum state transition during promotion
- 5fee7cab1b87 19 (unreleased) landed
-
Fix regex searching for page verification failures in tests
- 486b9a9b9eb4 19 (unreleased) landed
-
Apply data-checksum worker throttling parameters
- 9a39056c418c 19 (unreleased) landed
-
Skip WAL for unlogged main fork during online checksum enable
- 2018bd616790 19 (unreleased) landed
-
Fix data_checksum GUC show_hook
- 75152c5dc5d3 19 (unreleased) landed
-
Improve database detection logic in datachecksumsworker
- 1df361e3d82c 19 (unreleased) landed
-
Improve handling of concurrent checksum requests
- bf25e5571b32 19 (unreleased) landed
-
Typo and spelling fixups for online checksums
- 381d19da1536 19 (unreleased) landed
-
Fix invalid checksum state transition in checkpoints
- 25b922ec5825 19 (unreleased) landed
-
Handle data_checksum state changes during launcher_exit
- 8fb8ded88956 19 (unreleased) landed
-
Test improvements for online checksums
- a0d8f4c1ae16 19 (unreleased) landed
-
Prevent pg_enable/disable_data_checksums() on standby
- b120358c612d 19 (unreleased) landed
-
Test stabilization for online checksums
- 07009121c235 19 (unreleased) landed
-
Make data checksum tests more resilient for slow machines
- 0036232ba8fb 19 (unreleased) landed
-
Formalize WAL record for XLOG_CHECKPOINT_REDO
- 097ab69d17f7 19 (unreleased) landed
-
Revert "Get rid of WALBufMappingLock"
- c13070a27b63 19 (unreleased) cited
-
Get rid of WALBufMappingLock
- bc22dc0e0ddc 18.0 cited
-
Improve grammar of options for command arrays in TAP tests
- ce1b0f9da03e 18.0 cited