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