Steve Wolfe <nw@codon.com> writes:
> So, I did "dd if=/dev/zero of=/usr/local/pgsql/data/pg_clog/0089
> bs=8k count=1". I did an ls to verify that the file existed. I started
> the postmaster back up, tried a VACUUM, and got:
> vacuumdb: vacuuming of database "hyperseek" failed: ERROR: could not
> access status of transaction 144565028
> DETAIL: could not open file "/usr/local/pgsql/data/pg_clog/0089": No
> such file or directory
> I looked, and the "0089" file was gone again. Is there anything I
> can do to save the situation? (The PG version is 7.4.2)
Try vacuuming the damaged database *first*. vacuumdb is probably
starting off with something that hasn't got a problem. CLOG will only
get truncated at the end of a successful database-wide vacuum ... but
in this case that's too soon.
regards, tom lane