Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supporting infrastructure - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supporting infrastructure
Date
Msg-id CA+TgmobXO10BveiNRzeesdfdQWjn4+A87SJSF3UTU2G=n82F7g@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supportinginfrastructure  (David Christensen <david@endpoint.com>)
Responses Re: [HACKERS] [PATCH] Add pg_disable_checksums() and supportinginfrastructure  (David Christensen <david@endpoint.com>)
List pgsql-hackers
On Sun, Feb 19, 2017 at 12:02 PM, David Christensen <david@endpoint.com> wrote:
> Hi Robert, this is part of a larger patch which *does* enable the checksums online; I’ve been extracting the
necessarypieces out with the understanding that some people thought the disable code might be useful in its own merit.
Ican add documentation for the various states.  The CHECKSUM_REVALIDATE is the only one I feel is a little
wibbly-wobbly;the other states are required because of the fact that enabling checksums requires distinguishing between
“inprocess of enabling” and “everything is enabled”. 

Ah, sorry, I had missed that patch.

> My design notes for the patch were submitted to the list with little comment; see:
https://www.postgresql.org/message-id/1E6E64E9-634B-43F4-8AA2-CD85AD92D2F8%40endpoint.com
>
> I have since added the WAL logging of checksum states, however I’d be glad to take feedback on the other proposed
approaches(particularly the system catalog changes + the concept of a checksum cycle).] 

I think the concept of a checksum cycle might be overkill.  It would
be useful if we ever wanted to change the checksum algorithm, but I
don't see any particular reason why we need to build infrastructure
for that.  If we wanted to change the checksum algorithm, I think it
likely that we'd do that in the course of, say, widening it to 4 bytes
as part of a bigger change in the page format, and this infrastructure
would be too narrow to help with that.

While I'm glad to see work finally going on to allow enabling and
disabling checksums, I think it's too late to put this in v10.  We
have a rough rule that large new patches shouldn't be appearing for
the first time in the last CommitFest, and I think this falls into
that category.  I also think it would be unwise to commit just the
bits of the infrastructure that let us disable checksums without
having time for a thorough review of the whole thing; to me, the
chances that we'll make decisions that we later regret seem fairly
high.  I would rather wait for v11 and have a little more time to try
to get everything right.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] [PATCH] Transaction traceability - txid_status(bigint)
Next
From: "Sven R. Kunze"
Date:
Subject: Re: [HACKERS] SQL/JSON in PostgreSQL