Re: Detecting corrupted pages earlier
От | Hiroshi Inoue |
---|---|
Тема | Re: Detecting corrupted pages earlier |
Дата | |
Msg-id | 3E52C822.656FB8AC@tpf.co.jp обсуждение исходный текст |
Ответ на | Detecting corrupted pages earlier (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Detecting corrupted pages earlier
|
Список | pgsql-hackers |
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 Inouehttp://www.geocities.jp/inocchichichi/psqlodbc/
В списке pgsql-hackers по дате отправления: