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 ***
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to ma*******@postgresql.org so that your
message can get through to the mailing list cleanly