Re: Block-level CRC checks

Поиск
Список
Период
Сортировка
От pgsql@mohawksoft.com
Тема Re: Block-level CRC checks
Дата
Msg-id 40651.71.232.149.185.1222867741.squirrel@mail.mohawksoft.com
обсуждение исходный текст
Ответ на Re: Block-level CRC checks  (Hannu Krosing <hannu@2ndQuadrant.com>)
Список pgsql-hackers
> On Tue, 2008-09-30 at 17:13 -0400, pgsql@mohawksoft.com wrote:
>> >
>> > I believe the idea was to make this as non-invasive as possible. And
>> > it would be really nice if this could be enabled without a dump/
>> > reload (maybe the upgrade stuff would make this possible?)
>> > --
>>
>> It's all about the probability of a duplicate check being generated. If
>> you use a 32 bit checksum, then you have a theoretical probability of 1
>> in
>> 4 billion that a corrupt block will be missed (probably much lower
>> depending on your algorithm). If you use a short, then a 1 in 65
>> thousand
>> probability. If you use an 8 bit number, then 1 in 256.
>>
>> Why am I going on? Well, if there are any spare bits in a block header,
>> they could be used for the check value.
>
> Even and 64-bit integer is just 0.1% of 8k page size, and it is even
> less than 0.1% likely that page will be 100% full and thus that 64bits
> wastes any real space at all.
>
> So I don't think that this is a space issue.
>

Oh, I don't think it is a space issue either, the question was could there
be a way to do it without a dump and restore. The only way that occurs to
me is if there are some unused bits in the block header. I haven't looked
at that code in years. The numerics of it are just a description of the
probability of a duplicate sum or crc, meaning a false OK.

Also, regardless of whether or not the block is full, the block is read
and written as a block and that the underlying data unimportant.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Jonah H. Harris"
Дата:
Сообщение: Re: Block-level CRC checks
Следующее
От: Brian Hurt
Дата:
Сообщение: Re: Block-level CRC checks