From: | Markus Schiltknecht <markus(at)bluegap(dot)ch> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | invalid page header |
Date: | 2007-08-03 10:51:56 |
Message-ID: | 46B308CC.5090806@bluegap.ch |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
I'm in the unfortunate position of having "invalid page header(s) in
block 58591 of relation "pg_toast_302599". I'm well aware that the
hardware in question isn't the most reliable one. None the less, I'd
like to restore as much of the data as possible.
A pg_filedump analysis of the file in question spits out the following
information (relation pg_toast_302599 has oid 302602):
> # pg_filedump -R 58590 58592 base/296788/302602
>
> *******************************************************************
> * PostgreSQL File/Block Formatted Dump Utility - Version 8.1.1
> *
> * File: base/296788/302602
> * Options used: -R 58590 58592
> *
> * Dump created on: Fri Aug 3 10:34:23 2007
> *******************************************************************
>
> Block 58590 ********************************************************
> <Header> -----
> Block Offset: 0x1c9bc000 Offsets: Lower 36 (0x0024)
> Block: Size 8192 Version 3 Upper 48 (0x0030)
> LSN: logid 4 recoff 0x24b6ee88 Special 8192 (0x2000)
> Items: 4 Free Space: 12
> Length (including item array): 40
>
> <Data> ------
> Item 1 -- Length: 2034 Offset: 6156 (0x180c) Flags: USED
> Item 2 -- Length: 2034 Offset: 4120 (0x1018) Flags: USED
> Item 3 -- Length: 2034 Offset: 2084 (0x0824) Flags: USED
> Item 4 -- Length: 2034 Offset: 48 (0x0030) Flags: USED
>
>
> Block 58591 ********************************************************
> <Header> -----
> Block Offset: 0x1c9be000 Offsets: Lower 12858 (0x323a)
> Block: Size 28160 Version 73 Upper 14900 (0x3a34)
> LSN: logid 627535472 recoff 0x3a693b22 Special 9506 (0x2522)
> Items: 3209 Free Space: 2042
> Length (including item array): 8192
>
> Error: Invalid header information.
>
> Error: End of block encountered within the header. Bytes read: 8192.
>
>
> Block 58592 ********************************************************
> <Header> -----
> Block Offset: 0x1c9c0000 Offsets: Lower 36 (0x0024)
> Block: Size 8192 Version 3 Upper 48 (0x0030)
> LSN: logid 4 recoff 0x24b73110 Special 8192 (0x2000)
> Items: 4 Free Space: 12
> Length (including item array): 40
>
> <Data> ------
> Item 1 -- Length: 2034 Offset: 6156 (0x180c) Flags: USED
> Item 2 -- Length: 2034 Offset: 4120 (0x1018) Flags: USED
> Item 3 -- Length: 2034 Offset: 2084 (0x0824) Flags: USED
> Item 4 -- Length: 2034 Offset: 48 (0x0030) Flags: USED
>
>
> *** End of Requested Range Encountered. Last Block Read: 58592 ***
It seems obvious, that the block in question is absolutely screwed, as
the block size as well as the version don't match.
What's the best cure? Can I just wipe out the block with something like:
# dd if=/dev/zero of=base/296788/302602 seek=58591 bs=8192 count=1
This is PostgreSQL 8.1.9 (from Debian 8.1.9-0etch1), but it has been
running earlier 8.1.x versions in the past.
Regards
Markus
From | Date | Subject | |
---|---|---|---|
Next Message | Jorge Godoy | 2007-08-03 10:59:20 | Re: Suse RPM's |
Previous Message | Chris Coleman | 2007-08-03 10:38:19 | Suse RPM's |