Thread: Lost database

Lost database

From
Antony Gelberg
Date:
Hi,

This problem is related to an sql-ledger database, but given the nature,
 I think it's more appropriate here.

Our sql-ledger server had a filesystem corruption.  We do have backups,
but it's only now, after reading the PostgreSQL manual, that I knew that
it would have been a good idea to run pg_dump every now and then, via
cron perhaps.  We only have a filesystem backup of /var/lib/postgres.

I have tried restoring the directory to a new server with postgresql not
running. However, upon starting the database, sql-ledger reports
database not found.  It is also not listed in the psql -l command.

However, when I grep in the /var/lib/postgres/data directory for known
sql-ledger strings,  they are found.  So I'm hoping that there is, um,
hope.  I'm not an expert on Postgres internals (or externals!), but was
wondering if anybody has an idea on how I could retrieve the data.

(Debian Sarge, pgsql 7.4)

Antony

Re: Lost database

From
Richard Huxton
Date:
Antony Gelberg wrote:
> Hi,
>
> This problem is related to an sql-ledger database, but given the nature,
>  I think it's more appropriate here.
>
> Our sql-ledger server had a filesystem corruption.  We do have backups,
> but it's only now, after reading the PostgreSQL manual, that I knew that
> it would have been a good idea to run pg_dump every now and then, via
> cron perhaps.  We only have a filesystem backup of /var/lib/postgres.
>
> I have tried restoring the directory to a new server with postgresql not
> running. However, upon starting the database, sql-ledger reports
> database not found.  It is also not listed in the psql -l command.

Well, if you restored a full backup of /var/lib/postgresql (that was
taken while PG wasn't updating any data) you should be OK. The fact that
you're not suggests that something is being overwritten.

Restore it again, make sure logging is turned on in your postgresql.conf
and see what it says about "recovering" etc.

--
   Richard Huxton
   Archonet Ltd