Re: [PATCH] Add pg_disable_checksums() and supporting infrastructure

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: David Christensen <david(at)endpoint(dot)com>
Cc: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] Add pg_disable_checksums() and supporting infrastructure
Date: 2017-02-17 16:31:42
Message-ID: CABUevEz_p1w2u1ZZR1AqNiyzT+6_D6VT-=BCodOR5vXdMODzdA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 16, 2017 at 9:58 PM, David Christensen <david(at)endpoint(dot)com>
wrote:

> 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.
>

Per the point made by somebody else (I think Simon?) on the other thread, I
think it also needs WAL support. Otherwise you turn it off on the master,
but it remains on on a replica which will cause failures once datablocks
without checksum starts replicating.

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2017-02-17 16:39:49 Re: Index corruption with CREATE INDEX CONCURRENTLY
Previous Message Amit Khandekar 2017-02-17 16:26:26 Re: Parallel Append implementation