| From: | Wes Palmer <wespvp(at)syntegra(dot)com> |
|---|---|
| To: | Postgres General <pgsql-general(at)postgresql(dot)org> |
| Subject: | DB failure? |
| Date: | 2004-08-31 04:07:08 |
| Message-ID: | BD59639C.10874%wespvp@syntegra.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Wes | 2004-08-31 05:24:53 | Re: DB failure? |
| Previous Message | Tim Perkins | 2004-08-31 02:36:21 | psqlodbc-07.03.0200 --with-iodbc won7t compile on Mac OS X |