Re: Invalid page header

From: "Michael Harris (BR/EPA)" <michael(dot)harris(at)ericsson(dot)com>
To: Poul Møller Hansen <freebsd(at)pbnet(dot)dk>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: Invalid page header
Date: 2007-07-03 03:43:39
Message-ID: E5F4C5A18CAB7A4DA23080DE9CE81586042A93A5@eaubrmw001.eapac.ericsson.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I had a similar problem and overcame it by temporarily setting zero_damaged_pages, then doing a full vacuum and re-index on the affected table.

The rows contained in the corrupted page were lost but the rest of the table was OK after this.

Regards // Mike

-----Original Message-----
From: Poul Møller Hansen [mailto:freebsd(at)pbnet(dot)dk]
Sent: Tuesday, 3 July 2007 6:57 AM
To: pgsql-general(at)postgresql(dot)org
Subject: Invalid page header

During some time I have had more problems with invalid data in different
parts of a PostgreSQL database.

Until now it has been pointers to non present clog files and an index
file, but now it's in a data file.
I'm getting this error when doing a backup:
invalid page header in block 5377 of relation "events"

Using pg_filedump I get the output below.
Is there any way to recover from that error except doing a restore of
the complete database ?

The errors I get tells me there must be some kind of software / hardware
failure on the server.
It's running Ubuntu 6.06LTS, in the beginning with LVM and XFS filesystem.
I expected that this combination could be the cause, so I took the
server out of service for a week
and tested everything with a burn-in testing tool from the hardware vendor.
I even ran a destructive test on the hard drives. No fault found.

I reinstalled the same Ubuntu version now using ext3 filesystem and no LVM
and now I'm in trouble again.

Any suggestions on what to do ?

Thanks
Poul

*******************************************************************
* PostgreSQL File/Block Formatted Dump Utility - Version 8.1.1
*
* File: 17455
* Options used: -y -f -R 5377 5377
*
* Dump created on: Mon Jul 2 22:37:15 2007
*******************************************************************

Block 5377 ********************************************************
<Header> -----
Block Offset: 0x02a02000 Offsets: Lower 0 (0x0000)
Block: Size 45568 Version 146 Upper 0 (0x0000)
LSN: logid 19268 recoff 0x00000000 Special 57392 (0xe030)
Items: 0 Free Space: 0
Length (including item array): 24

Error: Invalid header information.

0000: 444b0000 00000000 01000000 00000000 DK..............
0010: 30e092b2 aa2a0000 0....*..

<Data> ------
Empty block - no items listed

<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: 5377 ***

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Maclean 2007-07-03 03:58:02 Re: [NOVICE] Recursive relationship - preventing cross-index entries.
Previous Message Ron Johnson 2007-07-03 03:39:53 Re: Experiences of PostgreSQL on-disk bitmap index patch