Re: Page Checksums

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Stephen Frost <sfrost@snowman.net>, Aidan Van Dyk <aidan@highrise.ca>, Josh Berkus <josh@agliodbs.com>
Date: 2011-12-19T17:09:48Z
Lists: pgsql-hackers
On Monday, December 19, 2011 03:33:22 PM Alvaro Herrera wrote:
> Excerpts from Stephen Frost's message of lun dic 19 11:18:21 -0300 2011:
> > * Aidan Van Dyk (aidan@highrise.ca) wrote:
> > > #) Anybody investigated putting the CRC in a relation fork, but not
> > > right in the data block?  If the CRC contains a timestamp, and is WAL
> > > logged before the write, at least on reading a block with a wrong
> > > checksum, if a warning is emitted, the timestamp could be looked at by
> > > whoever is reading the warning and know tht the block was written
> > > shortly before the crash $X $PERIODS ago....
> > 
> > I do like the idea of putting the CRC info in a relation fork, if it can
> > be made to work decently, as we might be able to then support it on a
> > per-relation basis, and maybe even avoid the on-disk format change..
> > 
> > Of course, I'm sure there's all kinds of problems with that approach,
> > but it might be worth some thinking about.
> 
> I think the main objection to that idea was that if you lose a single
> page of CRCs you have hundreds of data pages which no longer have good
> CRCs.
Which I find a pretty non-argument because there is lots of SPOF data in a 
cluster (WAL, control record) anyway...
If recent data starts to fail you have to restore from backup anyway.


Andres