Re: Enable data checksums by default

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Greg Sabino Mullane <htamfids@gmail.com>, Michael Paquier <michael@paquier.xyz>
Cc: Michael Banck <mbanck@gmx.net>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-08-23T13:17:17Z
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 08.08.24 19:19, Greg Sabino Mullane wrote:
> Thank you for the feedback. Please find attached three separate patches. 
> One to add a new flag to initdb (--no-data-checksums), one to adjust the 
> tests to use this flag as needed, and the final to make the actual 
> switch of the default value (along with tests and docs).

I think we can get started with the initdb --no-data-checksums option.

The 0001 patch is missing documentation and --help output for this 
option.  Also, some of the tests for the option that are in patch 0003 
might be better in patch 0001.

Separately, this

-        may incur a noticeable performance penalty. If set, checksums
+        may incur a small performance penalty. If set, checksums

should perhaps be committed separately.  I don't think the patch 0003 
really changes the performance penalty. ;-)