corrupted tuple (header?), pg_filedump output

From: Eric Parusel <lists(at)globalrelay(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: corrupted tuple (header?), pg_filedump output
Date: 2005-03-17 23:19:31
Message-ID: 423A1083.40402@globalrelay.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I've tracked down a row that is failing:

maia=# select id FROM table WHERE id = 1401765;
ERROR: could not access status of transaction 1634148473
DETAIL: could not open file "/data1/pgsql/data/pg_clog/0616": No such
file or directory

db=# vacuum maia_mail;
WARNING: relation "table" TID 28393/2: OID is invalid
ERROR: could not access status of transaction 1634148473
DETAIL: could not open file "/data1/pgsql/data/pg_clog/0616": No such
file or directory

I found the following post on pgsql-hackers and followed some of Tom
Lane's suggestions:
http://tinyurl.com/5bjf9

I ran pg_filedump, and here's a snippet:
(I would assume that TID 28393/2 means that "item" 2 has the problem,
correct?

./pg_filedump -i -f -R 28393 /data1/pgsql/data/base/17760/18004
--snip--
Item 2 -- Length: 1728 Offset: 6464 (0x1940) Flags: USED
XMIN: 12 CMIN: 196608 XMAX: 122552335 CMAX|XVAC: 177664675
Block Id: 0 linp Index: 47241 Attributes: 3692 Size: 0
infomask: 0x0900 (XMIN_COMMITTED|XMAX_INVALID)
Error: Computed header length not equal to header size.
Computed <28> Header: <0>
--snip--

I assume this is where my problem lies.

What do I do now? Can this be repaired?
This tuple is not needed, I can "get rid of it" or somehow dereference
it if need be.

How does an inconsistency like this typically arise?

Thanks very much,
Eric

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Steve Crawford 2005-03-17 23:36:10 Re: Excessive growth of pg_attribute and other system tables
Previous Message Steve Crawford 2005-03-17 23:15:38 Excessive growth of pg_attribute and other system tables