Do we still need "log_invalid_page"?
От | Jacky Leng |
---|---|
Тема | Do we still need "log_invalid_page"? |
Дата | |
Msg-id | evl1e9$tan$1@news.hub.org обсуждение исходный текст |
Ответы |
Re: Do we still need "log_invalid_page"?
|
Список | pgsql-hackers |
As the README for xlog says: There're two kinds of WAL records: * WAL record that contains enough information to re-generate the entire contents of a page; during recovery of these records, blocks are read with:buffer = XLogReadBuffer(reln, blkno, true); so it can be sure that the block will be read successfully, i.e. buffer won't be InvalidBuffer * WAL record provides only enough information to incrementally update the page; As all blocks related to these xlog records will be backed up in the xlog during the first write after checkpoint, and RestoreBkpBlocks will also read it in with :buffer = XLogReadBuffer(reln, blkno, true); so it also can be sure that these blocks will be read successfully: because the fisrt read of it must be in RestoreBkpBlocks, which will reconstruct the block validly, and none problems in later read. Then if we come to the path "log_invalid_page", can I say there must be sth wrong, and we should PANIC?
В списке pgsql-hackers по дате отправления: