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  (John R Pierce <pierce@hogranch.com>)
Список 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 по дате отправления:

Предыдущее
От: "Clemens Fischer"
Дата:
Сообщение: BUG #4550: ecpg problem with copy command and hostvar
Следующее
От: John R Pierce
Дата:
Сообщение: Re: could not read block 77 of relation 1663/16385/388818775