invalid page header - Mailing list pgsql-hackers

From G u i d o B a r o s i o
Subject invalid page header
Date
Msg-id 20041118143741.35AE86C9B9@honorio.sinectis.com.ar
Whole thread Raw
Responses Re: invalid page header  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Guys,  Sorry for writing here. The point is that google does not helps very much with this error message, and the lists
also,cause they throw different posible diagnosis for the same problem. And I think that the creators of the "beast"
willfurther know what it's going on, or at least give me an approach/howto.
 

PostgreSQL 7.4.2
Intel Xeon 2.8 * 8
Kernel 2.4.24-ck1 #5
SCSI disk.
4 gb RAM.

The message:
ERROR:  invalid page header in block 90259 of relation "dat_cc_fail_auths"

When?
 With almost any operation involving the relation "dat_cc_fail_auths"

This relation was created yesterday, droped cause I've found this error, and recreated again (also, a message pointing
toa log file not found, or alike [050F, wall?], was printed yesterday), but the message  still remains the same.
 
  I am worry about a hardware problem. 
Other synthomas.

1) 15 days ago, a vmtstat command segfaulted several times.
2) other relations, in other db's, began throwing messages, like the above, solved by a reindex force or recreate of
thetable. (not a good bussinnes, prd box)
 
3) top command died also, dunno why yet.

But...I haven't receive any other alerts or messages in log files (system logs reviewed) pointing me to problems. Above
errorscould not be so, and be just a random error going arround, coincidence and nothing else. Dunno.
 

So, I am not sure about this, I meant, I don't have a real pointer to a real problem. The message printed by postgres,
invalidpage..., seems to be ambigous when speaking about the root of the problem (an abnormal shutdown could lead into
anerror like this, a hardware problem could lead into this, and further circunstances, yah? well..wich ones?)
 

My point, I would like to design a plan in order to find the real problem and minimize the eventual downtime. As told
earlier,this is a prd box.
 

The following snapshot is a top, while a reindex is running.

 2:23pm  up 16 days, 17:19,  5 users,  load average: 2.18, 2.36, 2.00
96 processes: 90 sleeping, 2 running, 0 zombie, 4 stopped
CPU0 states:  0.0% user,  2.0% system,  0.0% nice, 97.0% idle
CPU1 states:  0.0% user,  0.1% system,  0.0% nice, 99.0% idle
CPU2 states: 79.0% user,  2.0% system,  0.0% nice, 17.0% idle
CPU3 states:  0.0% user,  0.0% system,  0.0% nice, 100.0% idle
CPU4 states:  0.0% user,  0.0% system,  0.0% nice, 100.0% idle
CPU5 states:  0.1% user,  0.1% system,  0.0% nice, 98.0% idle
CPU6 states:  0.0% user,  0.0% system,  0.0% nice, 100.0% idle
CPU7 states:  0.0% user,  0.0% system,  0.0% nice, 100.0% idle
Mem:  3624156K av, 3526480K used,   97676K free,       0K shrd,     568K buff
Swap: 4192912K av,   89404K used, 4103508K free                 3264864K cached
 PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND6979 postgres  25   0 93364  91M 83464 R    81.8
2.5 26:18 postmaster
 
11164 postgres  16   0  1064 1064   840 R     2.9  0.0   0:00 top  19 root      15   0     0    0     0 SW    0.9  0.0
58:33kswapd7126 postgres  18   0 84604  82M 83420 D     0.9  2.3   1:58 postmaster
 

an explain of a simple query (couldn't vacuum this table, due to
this problem on the page header).

mis_logdata=# select count(*) from dat_cc_fail_auths;
ERROR:  invalid page header in block 90259 of relation "dat_cc_fail_auths"
mis_logdata=# explain select count(*) from dat_cc_fail_auths;                                       QUERY PLAN
                             
 
------------------------------------------------------------------------------------------Aggregate
(cost=100000022.50..100000022.50rows=1 width=0)  ->  Seq Scan on dat_cc_fail_auths  (cost=100000000.00..100000020.00
rows=1000width=0)
 
(2 rows)

mis_logdata=# 

I've found a tool, pgfsck, but could not use it, the author forgot to upgrade the script to make it compatible with the
actualpostgres versions.
 

Other usefull tools?

Best wishes, and thanks in advance.

Guido.







pgsql-hackers by date:

Previous
From: James Robinson
Date:
Subject: plpgsql on 8.0b4 bug?
Next
From: Matt
Date:
Subject: Re: patch: plpgsql - access records with rec.(expr)