Re: could not read block 77 of relation 1663/16385/388818775
От | Gregory Stark |
---|---|
Тема | Re: could not read block 77 of relation 1663/16385/388818775 |
Дата | |
Msg-id | 87iqqarfn3.fsf@oxford.xeocode.com обсуждение исходный текст |
Ответ на | Re: could not read block 77 of relation 1663/16385/388818775 (John R Pierce <pierce@hogranch.com>) |
Ответы |
Re: could not read block 77 of relation 1663/16385/388818775
|
Список | pgsql-bugs |
John R Pierce <pierce@hogranch.com> writes: > Alexandra Nitzschke wrote: >> BTW... how about a block checksum that is checked just before writing a block >> and just after reading it? I know this would degrade performance, but I think >> we can afford that. Would it be possible to incorporate such code without >> having to do too much patching? > > oracle has had an option for some time that uses read/only page protection for > each page of the shared buffer area... when oracle knows it wants to modify a > page, it un-protects it via a system call. this catches any wild writes > into the shared buffer area as a memory protection fault. The problem with both of these approaches is that most bugs occur when the code *thinks* it's doing the right thing. A bug in the buffer management code which returns the wrong buffer or a real wild pointer dereference. I don't remember ever having either of those. That said, the second option seems pretty trivial to implement. I think the performance would be awful for a live database but for a read-only database it might make more sense. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com Ask me about EnterpriseDB's Slony Replication support!
В списке pgsql-bugs по дате отправления: