Invalid page header

From: "Ed L(dot)" <pgsql(at)bluepolka(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Invalid page header
Date: 2004-10-20 23:34:46
Message-ID: 200410201734.46816.pgsql@bluepolka.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have 5 corrupted page headers as evidenced by these errors:

ERROR: Invalid page header in block 13947 of ...

The corruption is causing numerous queries to abort. First option is to try
to salvage data before attempt restore from backup. I want to try to edit
the file to zero out the bogus headers. I realize there may be data lost
from this attempt. I have scalpel (binary editor) in hand.

Which bytes should I edit, and what do I make them?

$ pg_filedump -if -R 1343 1343 25268878.38650946

*****************************************************************
* PostgreSQL File/Block Formatted Dump Utility - Version 1.1
*
* File: 25268878.38650946
* Options used: -if -R 1343 1343
*
* Dump created on: Wed Oct 20 19:14:06 2004
*****************************************************************

Block 1343 ******************************************************
<Header> -----
Block Offset: 0x00a7e000 Offsets: Lower 0 (0x0000)
Block: Size 0 Version 0 Upper 0 (0x0000)
LSN: logid 0 recoff 0x00000000 Special 0 (0x0000)
Items: -5 Free Space: 0
Length (including item array): 24

Error: Invalid header information.

0000: 00000000 00000000 00000000 00000000 ................
0010: 00000000 00000000 ........

<Data> ------
Error: Item index corrupt on block. Offset: <-5>.

<Special Section> -----
Error: Invalid special section encountered.
Error: Special section points off page. Unable to dump contents.

*** End of Requested Range Encountered. Last Block Read: 1343 ***

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tim Vadnais 2004-10-21 00:20:46 field incrementing in a PL/pgSQL trigger
Previous Message Neil Conway 2004-10-20 23:32:35 Re: CREATE TEMPORARY TABLE AS ... ON COMMIT?