On Thu, Feb 16, 2017 at 9:58 PM, David Christensen <da...@endpoint.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/

Reply via email to