Re: Block-level CRC checks

From: Hannu Krosing <hannu(at)2ndQuadrant(dot)com>
To: pgsql(at)mohawksoft(dot)com
Cc: Decibel! <decibel(at)decibel(dot)org>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Block-level CRC checks
Date: 2008-10-01 12:59:33
Message-ID: 1222865973.19171.3.camel@huvostro
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 2008-09-30 at 17:13 -0400, pgsql(at)mohawksoft(dot)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.

---------------
Hannu

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2008-10-01 13:24:12 Re: Block-level CRC checks
Previous Message Gregory Stark 2008-10-01 11:02:10 Re: Initial prefetch performance testing