Обсуждение: invalid page header in pg_statistic
How do I fix this 7.4.6 issue short of initdb? invalid page header in block 110 of relation "pg_statistic" I looked at the block via pg_filedump (included below), and it does not appear to me to be corrupted, so not sure what I would zero out, if anything. TIA. Ed ******************************************************************* * PostgreSQL File/Block Formatted Dump Utility - Version 3.0 * * File: 16408.backup-20070207-01:11:58PST * Options used: -y -f -R 110 110 * * Dump created on: Wed Feb 7 01:56:04 2007 ******************************************************************* Block 110 ******************************************************** <Header> ----- Block Offset: 0x000dc000 Offsets: Lower 160 (0x00a0) Block: Size 8192 Version 1 Upper 8192 (0x2000) LSN: logid 178 recoff 0xf577b4e8 Special 8192 (0x2000) Items: 35 Free Space: 8032 Length (including item array): 164 0000: 000000b2 f577b4e8 00000028 00a02000 .....w.....(.. . 0010: 20002001 3da00000 3ae00000 37300000 . .=...:...70.. 0020: 34d00000 32100000 2e600000 2c000000 4...2....`..,... 0030: 29400000 25900000 23300000 20700000 )@..%...#0.. p.. 0040: 1cc00000 1a600000 17a00000 13f00000 .....`.......... 0050: 11900000 0ed00000 0b200000 08c00000 ......... ...... 0060: 06000000 02500000 1bc00000 19c00000 .....P.......... 0070: 18900000 17400000 15f00000 14a00000 .....@.......... 0080: 12c00000 3da00000 3ba00000 3a700000 ....=...;...:p.. 0090: 39200000 37d00000 36800000 34a00000 9 ..7...6...4... 00a0: 00000000 .... <Data> ------ Item 1 -- Length: 0 Offset: 7888 (0x1ed0) Flags: 0x00 Item 2 -- Length: 0 Offset: 7536 (0x1d70) Flags: 0x00 Item 3 -- Length: 0 Offset: 7064 (0x1b98) Flags: 0x00 Item 4 -- Length: 0 Offset: 6760 (0x1a68) Flags: 0x00 Item 5 -- Length: 0 Offset: 6408 (0x1908) Flags: 0x00 Item 6 -- Length: 0 Offset: 5936 (0x1730) Flags: 0x00 Item 7 -- Length: 0 Offset: 5632 (0x1600) Flags: 0x00 Item 8 -- Length: 0 Offset: 5280 (0x14a0) Flags: 0x00 Item 9 -- Length: 0 Offset: 4808 (0x12c8) Flags: 0x00 Item 10 -- Length: 0 Offset: 4504 (0x1198) Flags: 0x00 Item 11 -- Length: 0 Offset: 4152 (0x1038) Flags: 0x00 Item 12 -- Length: 0 Offset: 3680 (0x0e60) Flags: 0x00 Item 13 -- Length: 0 Offset: 3376 (0x0d30) Flags: 0x00 Item 14 -- Length: 0 Offset: 3024 (0x0bd0) Flags: 0x00 Item 15 -- Length: 0 Offset: 2552 (0x09f8) Flags: 0x00 Item 16 -- Length: 0 Offset: 2248 (0x08c8) Flags: 0x00 Item 17 -- Length: 0 Offset: 1896 (0x0768) Flags: 0x00 Item 18 -- Length: 0 Offset: 1424 (0x0590) Flags: 0x00 Item 19 -- Length: 0 Offset: 1120 (0x0460) Flags: 0x00 Item 20 -- Length: 0 Offset: 768 (0x0300) Flags: 0x00 Item 21 -- Length: 0 Offset: 296 (0x0128) Flags: 0x00 Item 22 -- Length: 0 Offset: 3552 (0x0de0) Flags: 0x00 Item 23 -- Length: 0 Offset: 3296 (0x0ce0) Flags: 0x00 Item 24 -- Length: 0 Offset: 3144 (0x0c48) Flags: 0x00 Item 25 -- Length: 0 Offset: 2976 (0x0ba0) Flags: 0x00 Item 26 -- Length: 0 Offset: 2808 (0x0af8) Flags: 0x00 Item 27 -- Length: 0 Offset: 2640 (0x0a50) Flags: 0x00 Item 28 -- Length: 0 Offset: 2400 (0x0960) Flags: 0x00 Item 29 -- Length: 0 Offset: 7888 (0x1ed0) Flags: 0x00 Item 30 -- Length: 0 Offset: 7632 (0x1dd0) Flags: 0x00 Item 31 -- Length: 0 Offset: 7480 (0x1d38) Flags: 0x00 Item 32 -- Length: 0 Offset: 7312 (0x1c90) Flags: 0x00 Item 33 -- Length: 0 Offset: 7144 (0x1be8) Flags: 0x00 Item 34 -- Length: 0 Offset: 6976 (0x1b40) Flags: 0x00 Item 35 -- Length: 0 Offset: 6736 (0x1a50) Flags: 0x00 *** End of Requested Range Encountered. Last Block Read: 110 ***
On Wed, Feb 07, 2007 at 03:00:20AM -0700, Ed L. wrote: > How do I fix this 7.4.6 issue short of initdb? > > invalid page header in block 110 of relation "pg_statistic" Take a copy of the file, then you should be able to truncate it. There's also the zero_damaged_pages option, though I don't know whether that applies here. > I looked at the block via pg_filedump (included below), and it > does not appear to me to be corrupted, so not sure what I would > zero out, if anything. I don't see anything odd expect that the header has both a lot of items and a lot of free space... > Items: 35 Free Space: 8032 > Length (including item array): 164 Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate.
Вложения
"Ed L." <pgsql@bluepolka.net> writes: > How do I fix this 7.4.6 issue short of initdb? > invalid page header in block 110 of relation "pg_statistic" > I looked at the block via pg_filedump (included below), and it > does not appear to me to be corrupted, so not sure what I would > zero out, if anything. Seems odd to me too ... but pg_statistic doesn't contain any irreplaceable data. See if you can TRUNCATE it. If so, do an ANALYZE to repopulate it. I don't recall if 7.4 has any special hoops you'd have to jump through to truncate a system catalog ... regards, tom lane
On Wednesday February 7 2007 9:01 am, Tom Lane wrote: > "Ed L." <pgsql@bluepolka.net> writes: > > How do I fix this 7.4.6 issue short of initdb? > > invalid page header in block 110 of relation "pg_statistic" > > I looked at the block via pg_filedump (included below), and > > it does not appear to me to be corrupted, so not sure what I > > would zero out, if anything. > > Seems odd to me too ... but pg_statistic doesn't contain any > irreplaceable data. See if you can TRUNCATE it. If so, do > an ANALYZE to repopulate it. I don't recall if 7.4 has any > special hoops you'd have to jump through to truncate a system > catalog ... $ psql -c "truncate table pg_statistic" ERROR: permission denied: "pg_statistic" is a system catalog I suppose this means single-user mode is required? Any other trick to do this during uptime? TIA. Ed
On Wednesday February 7 2007 9:01 am, Tom Lane wrote: > "Ed L." <pgsql@bluepolka.net> writes: > > How do I fix this 7.4.6 issue short of initdb? > > invalid page header in block 110 of relation "pg_statistic" > > I looked at the block via pg_filedump (included below), and > > it does not appear to me to be corrupted, so not sure what I > > would zero out, if anything. > > Seems odd to me too ... but pg_statistic doesn't contain any > irreplaceable data. See if you can TRUNCATE it. If so, do > an ANALYZE to repopulate it. I don't recall if 7.4 has any > special hoops you'd have to jump through to truncate a system > catalog ... Scheduled downtime finally arrived last night, and I tried unsuccessfully to truncate this table: postgres -D $PGDATA -O -o standalone_log mydb > truncate pg_statistic; > ^D pg_ctl start psql -d mydb -c "vacuum analyze" The truncate showed no errors. The vacuum analyze showed the same error in block 110 of the pg_statistic table. Any ideas what I'm missing here? Is there another acceptable way to truncate that table, perhaps "rm file; touch file"? Ed
"Ed L." <pgsql@bluepolka.net> writes: > The truncate showed no errors. The vacuum analyze showed the > same error in block 110 of the pg_statistic table. Really!? Hm, I wonder if you have a reproducible problem. Would it be possible for you to send me the physical pg_statistic file (off-list)? I'm curious to see exactly what's wrong with it. regards, tom lane