PostgreSQL: 7.4.1
Last week, I had a corrupt index on one table with 2 million rows. On a
specific search, the database would SEGV. I dropped and recreated the index
involved in the search, and did a REINDEX on the primary key. That problem
went away.
Now I'm seeing:
db=> select count(*) from messages;
ERROR: could not access status of transaction 859000513
DETAIL: could not open file "/db/pgsql/data/pg_clog/0333": No such file or
directory
db=> select count(*) from message_recipients;
ERROR: invalid page header in block 1238604 of relation
"message_recipients"
The above commands were successful on 8/21.
There are 240 million rows. Dump/reload is not something that would be an
attractive option. Based on previous timings, it could take 2-3 days (this
is with a dual hyper-threaded 2.4 Ghz with 2GB memory and an 8 drive RAID 5)
on a production system.
So far, this database has been all INSERTs - no deletes or updates.
Is there a way to recover this without a dump/reload? We do nightly
backups, but since we don't know when the problem really started, it would
be rather difficult to restore and reapply several million updates.
Wes
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings