pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ian Burrell <imb@rentrak.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-admin@postgresql.org
Subject: Re: Invalid page header
Date: Thu, 22 Jul 2004 15:10:41 -0700
Message-ID: <41003B61.8070007@rentrak.com> (raw)
In-Reply-To: <11036.1090520647@sss.pgh.pa.us>
References: <40FFF98C.3000309@rentrak.com>
	<11036.1090520647@sss.pgh.pa.us>

Tom Lane wrote:
> 
> You can zap just the failed block by turning on "zero_damaged_pages";
> that will at least allow you to recover the rest of the table.  If you
> want to try harder, you could look at the damaged page with pg_filedump
> (http://sources.redhat.com/rhdb/) or a similar tool and try to intuit
> how to fix it manually.
> 

I zapped the damaged block.  It didn't seem to effect the rows in the 
table.  My suspicion is that the page only contained deleted rows since 
the table had many updates done recently.

> Hmm.  A scribble-on-memory kind of bug could cause this, but in my
> experience it's unusual for coding errors to trash the disk buffers ---
> that's a relatively small part of your address space, and usually a
> memory clobber will crash the backend elsewhere before it hits a disk
> buffer.  (BTW, one reason we force a database restart after a backend
> crash is in hopes of not letting any such clobber make it to disk.  The
> contents of shared disk buffers are simply thrown away in a restart.)
> 
> It would probably be worth your while to look at the damaged page with
> pg_filedump before you zap it.  The symptoms of hardware misfeasance and
> software errors are enough different that you can often tell which
> theory to believe by examining the bits.
> 

I used pg_filedump on a backup of the database files.  The block looks 
like it is mostly zero bytes with a few x02 bytes thrown to just be 
confusing.

  - Ian




view thread (11+ messages)  latest in thread

Message-ID: <41003B61.8070007@rentrak.com>
Permalink:  ../41003B61.8070007@rentrak.com/
Also on:    postgresql.org/message-id/41003B61.8070007@rentrak.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: imb@rentrak.com, tgl@sss.pgh.pa.us
  Subject: Re: Invalid page header
  In-Reply-To: <41003B61.8070007@rentrak.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox