Thread: corrupted database?
I am in the middle of a rather nasty experience that I hope someone out there can help solve. My hard disk partition with the postgres data directory got full. I tried to shut down postgres so I could clear some space, nothing happened. So I did a reboot. On restart (after clearing some pg_sorttemp.XX files), I discovered that all my tables appear empty! When I check in the data directories of the databases, I see that the files for each table have data (they are still of the size as before). I've been running some experiments on another machine and notice that if I remove the pg_log file, databases seem to disappear (or data to become invisible). So I am guessing that postgres is looking in one place and deciding there is no data. Now I need to get my data of course! Any solutions?? My programming skills are generally very good so if it involves some code I'd have no problem. How do I get a dump of the raw data (saw copy-style output) from the table files? Please help! Thanks Paul Bagyenda
"P. A. Bagyenda" <bagyenda@dsmagic.com> writes: > My hard disk partition with the postgres data directory got full. I > tried to shut down postgres so I could clear some space, nothing > happened. So I did a reboot. On restart (after clearing some > pg_sorttemp.XX files), I discovered that all my tables appear empty! Were you foolish enough to remove pg_log as well? If so, all your past transactions now appear uncommitted ... Bryan White had this same problem awhile ago --- see http://www.arcamax.com/pg_check/ for the tool he developed. Bear in mind though that you cannot get back a consistent state of the database, because the info about which transactions committed and which didn't is gone. If you have a somewhat recent backup, it's probably better to revert to that. regards, tom lane