Re: Checksums, state of play - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Checksums, state of play
Date
Msg-id 20120306192435.GE1347@momjian.us
Whole thread Raw
In response to Re: Checksums, state of play  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
On Tue, Mar 06, 2012 at 01:52:31PM -0500, Bruce Momjian wrote:
> On Tue, Mar 06, 2012 at 06:00:13PM +0000, Simon Riggs wrote:
> > On Tue, Mar 6, 2012 at 5:50 PM, Bruce Momjian <bruce@momjian.us> wrote:
> > 
> > > One crazy idea would be to have a checksum _version_ number somewhere on
> > > the page and in pg_controldata.  When you turn on checksums, you
> > > increment that value, and all new checksum pages get that checksum
> > > version;  if you turn off checksums, we just don't check them anymore,
> > > but they might get incorrect due to a hint bit write and a crash.  When
> > > you turn on checksums again, you increment the checksum version again,
> > > and only check pages having the _new_ checksum version.
> > >
> > > Yes, this does add additional storage requirements for the checksum, but
> > > I don't see another clean option.  If you can spare one byte, that gives
> > > you 255 times to turn on checksums;   after that, you have to
> > > dump/reload to use the checksum feature.
> > 
> > I like the idea very much actually. But I'll let you argue the case
> > for using pd_pagesize_version for that with your esteemed colleagues.
> > 
> > It would be pretty safe to just let it wrap.
> 
> How would we know there are not old unwritten pages sitting around?

Perhaps a full xid wrap-around would allow us to re-use checksum
counters.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Checksums, state of play
Next
From: Bruce Momjian
Date:
Subject: Re: Checksums, state of play