Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-hackers by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group