[PATCH] Add pg_disable_checksums() and supporting infrastructure

From: David Christensen <david(at)endpoint(dot)com>
To: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: [PATCH] Add pg_disable_checksums() and supporting infrastructure
Date: 2017-02-16 20:58:57
Message-ID: FF393672-5608-46D6-9224-6620EC532693@endpoint.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Extracted from a larger patch, this patch provides the basic infrastructure for turning data
checksums off in a cluster. This also sets up the necessary pg_control fields to support the
necessary multiple states for handling the transitions.

We do a few things:

- Change "data_checksums" from a simple boolean to "data_checksum_state", an enum type for all of
the potentially-required states for this feature (as well as enabling).

- Add pg_control support for parsing/displaying the new setting.

- Distinguish between the possible checksum states and be specific about whether we care about
checksum read failures or write failures at all call sites, turning DataChecksumsEnabled() into two
functions: DataChecksumsEnabledReads() and DataChecksumsEnabledWrites().

- Create a superuser function pg_disable_checksums() to perform the actual disabling of this in the
cluster.

I have *not* changed the default in initdb to enable checksums, but this would be trivial.

Attachment Content-Type Size
disable-checksums.patch application/octet-stream 15.4 KB
unknown_filename text/plain 81 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-02-16 22:13:31 Re: Avoiding OOM in a hash join with many duplicate inner keys
Previous Message Robert Haas 2017-02-16 20:56:49 Re: Avoiding OOM in a hash join with many duplicate inner keys