'SGT DETAIL: Could not open file "pg_clog/05DC": No such file or directory' - what to do now?

Tomasz Chmielewski <mangoo@wpkg.org>

From: Tomasz Chmielewski <mangoo@wpkg.org>
To: pgsql-admin@postgresql.org
Date: 2011-05-04T06:21:23Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Rearrange ALTER TABLE syntax processing as per my recent proposal: the

On 1st May, I saw this message in my postgres log:

May  2 06:52:02 db10 postgres[3590]: [29829-1] 2011-05-02 06:52:02 SGT 
ERROR:  could not access status of transaction 1573786613
May  2 06:52:02 db10 postgres[3590]: [29829-2] 2011-05-02 06:52:02 SGT 
DETAIL:  Could not open file "pg_clog/05DC": No such file or directory.
May  2 06:52:02 db10 postgres[3590]: [29829-3] 2011-05-02 06:52:02 SGT 
STATEMENT:  SELECT 1 FROM core_bill_id_seq FOR UPDATE


Now, I'm not sure what I should do about it. Database behaves "funny", 
some inserts do not work.


Searching the internet suggests that:

1) such errors could happen with PostgreSQL 8.1.x under heavy load - 
this server is under constant heavy load, but runs 8.3.14 on Debian Lenny

2) I should simply create a 256k pg_clog/05DC empty file with dd - I 
wouldn't like to do it, without first knowing what happened, and if it's 
really "good fix"

3) some tables can be corrupted - how can I check that? pg_dump works 
fine and doesn't report any errors

4) I may have hardware problems - but this server is running for almost 
1 year now, is super stable - servers with hardware issues are likely to 
show some issues as well

5) database corrupted due to a server crash - this server never crashed


How should I continue from that (assuming I can't reliably verify if 
something wrong is going with the hardware or not - points 4 and 5)?


-- 
Tomasz Chmielewski
http://wpkg.org