Re: 16-bit page checksums for 9.2
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: Kevin Grittner <Kevin.Grittner@wicourts.gov>, stark@mit.edu, aidan@highrise.ca, pgsql-hackers@postgresql.org
Date: 2011-12-28T07:42:10Z
Lists: pgsql-hackers
On 28.12.2011 01:39, Simon Riggs wrote: > On Tue, Dec 27, 2011 at 8:05 PM, Heikki Linnakangas > <heikki.linnakangas@enterprisedb.com> wrote: >> On 25.12.2011 15:01, Kevin Grittner wrote: >>> >>> I don't believe that. Double-writing is a technique to avoid torn >>> pages, but it requires a checksum to work. This chicken-and-egg >>> problem requires the checksum to be implemented first. >> >> >> I don't think double-writes require checksums on the data pages themselves, >> just on the copies in the double-write buffers. In the double-write buffer, >> you'll need some extra information per-page anyway, like a relfilenode and >> block number that indicates which page it is in the buffer. > > How would you know when to look in the double write buffer? You scan the double-write buffer, and every page in the double write buffer that has a valid checksum, you copy to the main storage. There's no need to check validity of pages in the main storage. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com