Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supportinginfrastructure

Поиск
Список
Период
Сортировка
От David Christensen
Тема Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supportinginfrastructure
Дата
Msg-id 48B951AA-CA45-4B24-AB84-22C95C6B4AC2@endpoint.com
обсуждение исходный текст
Ответ на Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supporting infrastructure  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-hackers
On Feb 17, 2017, at 10:31 AM, Magnus Hagander <magnus@hagander.net> wrote:
>
> On Thu, Feb 16, 2017 at 9:58 PM, David Christensen <david@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.
Otherwiseyou turn it off on the master, but it remains on on a replica which will cause failures once datablocks
withoutchecksum starts replicating. 

Enclosed is a version which supports WAL logging and proper application of the checksum state change.  I have verified
itworks with a replica as far as applying the updated data_checksum_state, though I had to manually call
pg_switch_wal()on the master to get it to show up on the replica.  (I don’t know if this is a flaw in my patch or just
anatural consequence of testing on a low-volume local cluster.) 

--
David Christensen
End Point Corporation
david@endpoint.com
785-727-1171



-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: [HACKERS] gitlab post-mortem: pg_basebackup waiting for checkpoint
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: [HACKERS] Instability in select_parallel regression test