Re: [HACKERS] Undetected corruption of table files

From: Decibel! <decibel(at)decibel(dot)org>
To: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Trevor Talbot <quension(at)gmail(dot)com>, Albe Laurenz <all(at)adv(dot)magwien(dot)gv(dot)at>, pgsql-general(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Undetected corruption of table files
Date: 2007-08-27 18:55:47
Message-ID: 20070827185546.GH54309@decibel.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

On Mon, Aug 27, 2007 at 12:08:17PM -0400, Jonah H. Harris wrote:
> On 8/27/07, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > Indeed. In fact, the most likely implementation of this (refuse to do
> > anything with a page with a bad CRC) would be a net loss from that
> > standpoint, because you couldn't get *any* data out of a page, even if
> > only part of it had been zapped.

I think it'd be perfectly reasonable to have a mode where you could
bypass the check so that you could see what was in the corrupted page
(as well as deleting everything on the page so that you could "fix" the
corruption). Obviously, this should be restricted to superusers.

> At least you would know it was corrupted, instead of getting funky
> errors and/or crashes.

Or worse, getting what appears to be perfectly valid data, but isn't.
--
Decibel!, aka Jim Nasby decibel(at)decibel(dot)org
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jeff Amiel 2007-08-27 18:56:59 Re: Out of Memory - 8.2.4
Previous Message Alan Hodgson 2007-08-27 18:44:18 Re: EXPLAIN ANALYZE not considering primary and unique indices!

Browse pgsql-hackers by date

  From Date Subject
Next Message Joshua D. Drake 2007-08-27 18:59:05 Re: Problem with recent permission changes commits
Previous Message Decibel! 2007-08-27 18:46:29 Re: Problem with recent permission changes commits