Re: Enable data checksums by default

Greg Burd <greg@burd.me>

From: "Burd, Greg" <greg@burd.me>
To: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: Daniel Gustafsson <daniel@yesql.se>, Tomas Vondra <tomas@vondra.me>, Peter Eisentraut <peter@eisentraut.org>, Heikki Linnakangas <hlinnaka@iki.fi>, Nathan Bossart <nathandbossart@gmail.com>, Greg Sabino Mullane <htamfids@gmail.com>, Bruce Momjian <bruce@momjian.us>, Michael Paquier <michael@paquier.xyz>, Michael Banck <mbanck@gmx.net>, Jeff Davis <pgsql@j-davis.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2025-07-31T22:39:51Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Avoid BufferGetLSNAtomic() calls during nbtree scans.

  2. doc PG 18 relnotes: Add incompatibility note about checksums now default

  3. Fix pg_upgrade's cross-version tests when old < 18

  4. initdb: Change default to using data checksums.

  5. Allow TAP tests to force checksums off when calling init()

  6. initdb: Add new option "--no-data-checksums"

  7. Tweak docs to reduce possible impact of data checksums

> On Jul 31, 2025, at 3:21 PM, Laurenz Albe <laurenz.albe@cybertec.at> wrote:
> 
> On Thu, 2025-07-31 at 09:39 -0400, Greg Burd wrote:
>> I agree that enabling checksums by default is the sane default.  Databases
>> should always make a best effort for data integrity, checksums are a
>> positive step in that direction.
> 
> Having checksums on does not improve data integrity...
> 
> Yours,
> Laurenz Albe

Hello, thanks for your reply.  I agree they don't improve integrity, but they
do improve the ability to detect loss of integrity (corruption), which is a
good thing for databases to do by default.  Apologies, my phrasing could have
been better.

best.

-greg