Re: open of /usr/lib/pgsql/data/pg_clog/0F3E failed - Mailing list pgsql-general

From Tom Lane
Subject Re: open of /usr/lib/pgsql/data/pg_clog/0F3E failed
Date
Msg-id 28555.1090940097@sss.pgh.pa.us
Whole thread Raw
In response to open of /usr/lib/pgsql/data/pg_clog/0F3E failed  (ruben <ruben20@superguai.com>)
Responses Slow after VACUUM, fast after DROP-CREATE INDEX  (ruben <ruben20@superguai.com>)
List pgsql-general
ruben <ruben20@superguai.com> writes:
> I lost some data and had to recreate a table, without knowing the reason
> for the error, now I got this error:

> FATAL 2:  open of /usr/lib/pgsql/data/pg_clog/0F3E failed: No existe el
> fichero o el directorio

This looks like one of the common symptoms of corrupted data
(specifically, you have a trashed transaction number in some row header,
which causes the code to try to look up the transaction status in a
portion of clog that doesn't exist yet).

The most likely bet is that you are having intermittent hardware
problems causing data corruption.  I'd suggest testing the hardware as
best you can.  memtest86 and badblocks are a couple of widely-used test
programs for RAM and disk respectively.

As for trying to recover your data, you can look in the mailing list
archives for prior discussions of coping with data corruption.  The
particular rows or pages that are corrupt are probably unrecoverable,
but you can zero them out and at least make the rest of the table
readable.  First you need to stabilize the hardware, though.

            regards, tom lane

pgsql-general by date:

Previous
From: Prabu Subroto
Date:
Subject: Re: Trigger on Postgres for tables syncronization
Next
From: Mike Nolan
Date:
Subject: Before/After trigger sequencing question