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 <br...@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 <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers