From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: missing pg_clog files ? |
Date: | 2003-09-22 14:50:22 |
Message-ID: | 28276.1064242222@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk> writes:
> select * from olddata02_03vac offset 2573719 limit 1;
> ERROR: could not access status of transaction 1664158221
> DETAIL: open of file "/usr/local/pgsql/data/pg_clog/0633" failed: No such file or directory
> # ls -l pg_clog
> total 32
> -rw------- 1 postgres postgres 16384 Sep 22 13:12 0000
What you have here is a corrupted tuple (viz, a silly transaction number).
It would be useful to look at the page containing the tuple to see if
any pattern can be detected in the corruption. To do this, get the
ctid of the prior tuple:
select ctid from olddata02_03vac offset 2573718 limit 1;
This will give you a result "(blocknumber,tuplenumber)". The bogus
tuple is probably on the same page, though possibly further along.
Next find a dump tool --- I usually use Red Hat's pg_filedump:
http://sources.redhat.com/rhdb/tools.html
Dump out the page(s) in question and send them along.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Patrick Welche | 2003-09-22 15:23:22 | Re: missing pg_clog files ? |
Previous Message | Patrick Welche | 2003-09-22 13:02:06 | missing pg_clog files ? |