Hey all!
After working non-stop for 7 hours straight, I managed to fix my problem.. It boiled down to a massive backlog of transactions, and I found a little utility called pg_resetxlog.exe that did the /exact/ thing I needed. I forced a reset of the transaction log and got the server to startup in user mode at which point I immediately made a noise that probably woke the neighbors, and I feverishly clicked the "Backup" button. The bad DB has been nuked and now everything is running along nicely.
Had I not been able to recover my good DBs, that would have been about five months of work gone. I have a little tool that dumps my DB to an XML file (the only file format I really trust), and I'm gonna configure that to run nightly. Thanks for all the help guys!
Mike
Mike Christensen wrote:
After looking at it more, it seems the problem is it's trying to rebuild a corrupt DB and not really getting anywhere. The DB is about 900 megs, and I've given it 6-7hrs to try to repair and it just seems to be stuck.
If I delete the DB directory, I get:
2009-02-19 00:02:05 PST FATAL: index "41330" contains unexpected zero page at b
lock 0
2009-02-19 00:02:05 PST HINT: Please REINDEX it.
The process just quits if it can't repair the DB. How can I tell it not to try to repair this database and just let me access the other DBs? Thanks!
Mike
Joshua D. Drake wrote: On Wed, 2009-02-18 at 19:58 -0800, Mike Christensen wrote:
I have two questions actually..
First off, is there a way to remove a database if the postgres.exe
service won't start? It seems if I just delete the data\base\xxxxx
directory, then postgres will crash. Is there a way to drop a DB that
prevents postgres.exe from starting?
What happens if you start postgresql in single user mode?
Second question, if I just re-install postgres and create a fresh new
instance, is there a way to import my old data files back into the
database? Thanks!
Mike