Re: Recovering database from crashed HD (bad sectors) - Mailing list pgsql-general

From Tom Lane
Subject Re: Recovering database from crashed HD (bad sectors)
Date
Msg-id 12522.1437240643@sss.pgh.pa.us
Whole thread Raw
In response to Re: Recovering database from crashed HD (bad sectors)  (Amitabh Kant <amitabhkant@gmail.com>)
Responses Re: Recovering database from crashed HD (bad sectors)  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-general
Amitabh Kant <amitabhkant@gmail.com> writes:
> As for running the sql command as suggested by Tom, here is the result:
> template1=# select * from pg_class where pg_relation_filenode(oid) = 11678;

>  pg_class |           11 |      83 |         0 |       10 |     0 |
>   0 |             0 |        8 |       281 |             0 |             0
> | t           | f           | p              | r       |       26 |
> 0 | t          | f          | f           | f              | f
> |          662 | {=r/pgsql} |

That's about the worst possible answer :-(.  Without pg_class, you have
little hope of telling which is which among the other files; and there
would be no real commonality with the contents of pg_class from other
databases in the installation, so no way to jury-rig something.  Moreover,
because pg_class is consulted *very* early in backend startup, it seems
entirely likely that the failure you're seeing is only the tip of the
iceberg; there very possibly are other files that are also missing or
badly damaged.

It's possible that a professional data recovery team could extract
something from the wreckage, but it would take a lot of time and money.
Personally I'd say it's time to go to your backups.

            regards, tom lane


pgsql-general by date:

Previous
From: Amitabh Kant
Date:
Subject: Re: Recovering database from crashed HD (bad sectors)
Next
From: Alvaro Herrera
Date:
Subject: Re: Recovering database from crashed HD (bad sectors)