Re: ERROR: could not access status of transaction

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Stuart Grimshaw" <stuart(dot)grimshaw(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: ERROR: could not access status of transaction
Date: 2006-12-29 04:20:28
Message-ID: 27980.1167366028@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Stuart Grimshaw" <stuart(dot)grimshaw(at)gmail(dot)com> writes:
> On 12/23/06, Stuart Grimshaw <stuart(dot)grimshaw(at)gmail(dot)com> wrote:
>> berble=# select * from headlines ;
>> ERROR: could not access status of transaction 1668180339
>> DETAIL: could not open file "pg_clog/0636": No such file or directory
>>
>> Using Postgres 8.1.5 from Debian unstable, I got the above error, and
>> I have no idea what it means?

It looks like a corrupt-data problem, specifically something has stomped
on the xmin field of a tuple header. (Because xmin is the first
readily-checkable field examined when visiting a tuple, "could not
access status of transaction" is the most likely result from wholesale
overwriting of a portion of a table.) My calculator says 1668180339 is
equal to ASCII "cnis" (or "sinc" depending on your machine's endianness)
which makes it seem somewhat likely that some text has gotten dumped
into a Postgres data file. We've seen that happen before from disk or
operating system misfeasance :-(. See the PG archives concerning
procedures for localizing and removing trashed rows --- as a first guess
about where it's discussed, try searching for threads mentioning
pg_filedump ...

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2006-12-29 04:44:30 Re: questions about migrating form postgres 7 to 8
Previous Message Tom Lane 2006-12-29 04:09:04 Re: Why ContinueUpdateOnError is not implemented in npgsql