corrupted database?

Started by P. A. Bagyendaalmost 25 years ago3 messagesgeneral
Jump to latest
#1P. A. Bagyenda
bagyenda@dsmagic.com

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!

I am running v7.0.3 on linux kernel v2.2

Thanks

Paul Bagyenda

#2will trillich
will@serensoft.com
In reply to: P. A. Bagyenda (#1)
Re: corrupted database?

On Wed, Apr 18, 2001 at 09:01:21PM +0300, P. A. Bagyenda wrote:

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!

I am running v7.0.3 on linux kernel v2.2

i'm running debian potato (linux 2.2) with 7.0.3 as well--

<guess>

i had something similar once, so maybe this'll work for you
too...

1) stop postmaster (!).
2) move the data files aside. (rename xyz to _xyz_ for example)
3) restart postmaster.
4) recreate your schema. (you do have backups, hmm?)
maybe best to do it without indexes, i dunno...
5) stop postmaster.
6) move the new data files out of the way.
7) restore the names to your filled data files.
8) restart postmaster.

maybe.

</guess>

best of luck...

--
don't visit this page. it's bad for you. take my expert word for it.
http://www.salon.com/people/col/pagl/2001/03/21/spring/index1.html

will@serensoft.com
http://sourceforge.net/projects/newbiedoc -- we need your brain!
http://www.dontUthink.com/ -- your brain needs us!

#3Bryan White
bryan@arcamax.com
In reply to: P. A. Bagyenda (#1)
Re: corrupted database?

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!

I am running v7.0.3 on linux kernel v2.2

You might want to look at pg_check located here www.arcamax.com/pg_check.
Note that the results might contain rows that have been previously deleted
and both new and old copies of rows that have been updated.