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

From: Daniel Gustafsson <daniel(at)yesql(dot)se>
To: SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tomas Vondra <tomas(at)vondra(dot)me>, Andres Freund <andres(at)anarazel(dot)de>, Bernd Helmle <mailings(at)oopsware(dot)de>, Michael Paquier <michael(at)paquier(dot)xyz>, Michael Banck <mbanck(at)gmx(dot)net>
Subject: Re: Changing the state of data checksums in a running cluster
Date: 2026-04-29 12:41:32
Message-ID: F78D7C71-A999-4604-B1B9-FE06D21E63C5@yesql.se
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 28 Apr 2026, at 22:25, SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)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

Attachment Content-Type Size
v3-0008-Fix-data_checksum-GUC-show_hook.patch application/octet-stream 1.2 KB
v3-0007-Improve-database-detection-logic-in-datachecksums.patch application/octet-stream 2.5 KB
v3-0006-Improve-handling-of-concurrent-checksum-requests.patch application/octet-stream 10.0 KB
v3-0005-Typo-and-spelling-fixups-for-online-checksums.patch application/octet-stream 3.8 KB
v3-0004-Fix-invalid-checksum-state-transition-in-checkpoi.patch application/octet-stream 13.6 KB
v3-0003-Handle-data_checksum-state-changes-during-launche.patch application/octet-stream 5.0 KB
v3-0002-Test-improvements-for-online-checksums.patch application/octet-stream 7.5 KB
v3-0001-Prevent-pg_enable-disable_data_checksums-on-stand.patch application/octet-stream 1.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrei Lepikhov 2026-04-29 12:43:02 Re: A very quick observation of dangling pointers in Postgres pathlists
Previous Message Ashutosh Bapat 2026-04-29 12:32:57 Re: Fix DROP PROPERTY GRAPH "unsupported object class" error