Re: open of /usr/lib/pgsql/data/pg_clog/0F3E failed

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: ruben <ruben20(at)superguai(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: open of /usr/lib/pgsql/data/pg_clog/0F3E failed
Date: 2004-07-27 14:54:57
Message-ID: 28555.1090940097@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

ruben <ruben20(at)superguai(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message BRINER Cedric 2004-07-27 15:05:58 no value fetch
Previous Message Prabu Subroto 2004-07-27 14:40:05 Re: Trigger on Postgres for tables syncronization