"Chris White (cjwhite)" <cjwhite@cisco.com> writes:
> My 7.2.1 database was in the middle of inserting a large object when the
> power went down.
You really, really, really should be on 7.2.4 (if not 7.3.*). We don't
make dot-releases for amusement's sake --- there are some critical bug
fixes between 7.2.1 and 7.2.4, including some possibly relevant to your
problem.
> postgres: voicemail aesop 127.0.0.1 VACUUM: CRASH sql sql sql FATAL2:
> open of /data/sql/pg_clog/09C6 failed: No such file or directory
This looks like a corrupted page in (probably) pg_largeobject --- do you
get the same if you try, say, "select count(*) from pg_largeobject"?
> and from then on any time we try to connect we get a message saying
> database is in recovery mode and it never comes out. How can I recover
> this database or do I have to restore a prior backup?
I can't think of any reasonable fix in 7.2.* other than truncating
pg_largeobject, after which you'd need to reload the large objects
somehow. If you are lucky, the corruption doesn't affect any of the
valid data --- have you tried pg_dumping the database? A dump and
reload of the particular database would be the most reliable solution.
regards, tom lane