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