Обсуждение: ERROR: could not access status of transaction

Поиск
Список
Период
Сортировка

ERROR: could not access status of transaction

От
"Stuart Grimshaw"
Дата:
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?

--
-S

Sports Photography in South Yorkshire & Derbyshire
http://www.stuartgrimshaw.co.uk

Re: ERROR: could not access status of transaction

От
"Stuart Grimshaw"
Дата:
On 12/23/06, Stuart Grimshaw <stuart.grimshaw@gmail.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?

Is there any more info I can give you guys to help sort this out?

--
-S

Sports Photography in South Yorkshire & Derbyshire
http://www.stuartgrimshaw.co.uk

Re: ERROR: could not access status of transaction

От
Tom Lane
Дата:
"Stuart Grimshaw" <stuart.grimshaw@gmail.com> writes:
> On 12/23/06, Stuart Grimshaw <stuart.grimshaw@gmail.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