Tom Lane wrote:
> 
> Postgres has a bad habit of becoming very confused if the page header of
> a page on disk has become corrupted.  In particular, bogus values in the
> pd_lower field tend to make it look like there are many more tuples than
> there really are, and of course these "tuples" contain garbage.  That
> leads to core dumps, weird complaints about out-of-range transaction
> numbers (the latter generally in the form of an abort referencing a
> nonexistent pg_clog file), and other un-fun stuff.
> 
> I'm thinking of modifying ReadBuffer() so that it errors out if the

What does the *error out* mean ?
Is there a way to make our way around the pages ?
 
> page read in does not contain either zeroes or a valid-looking header.
> (The exception for zeroes seems to be needed for hash indexes, which
> tend to initialize pages out-of-order.)  This would make it much easier
> for people to recognize situations where a page header has become
> corrupted on disk.
> 
> Comments?  Can anyone think of a scenario where this would be a bad
> idea?

IIRC there was a similar thread long ago.
IMHO CRC isn't sufficient because CRC could be calculated
even for (silently) corrupted pages.

regards, 
Hiroshi Inoue
        http://www.geocities.jp/inocchichichi/psqlodbc/

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to