Re: How to deal with corrupted database? - Mailing list pgsql-admin

From Craig Ringer
Subject Re: How to deal with corrupted database?
Date
Msg-id 4EBA7A6F.50602@ringerc.id.au
Whole thread Raw
In response to How to deal with corrupted database?  ("Ruslan A. Bondar" <fsat@list.ru>)
Responses Re: How to deal with corrupted database?  ("Ruslan A. Bondar" <fsat@list.ru>)
List pgsql-admin
On 11/09/2011 07:02 PM, Ruslan A. Bondar wrote:
Hello all.

This is a first time I receive such an issue.
My database was corrupted some way.
Before you do ANYTHING else, make a copy of your database somewhere safe. See:

http://wiki.postgresql.org/wiki/Corruption
When I'm trying to access the database via psql I receive:

root@udb:/etc/bacula# psql -U bacula
psql: FATAL:  could not read block 0 in file "base/16387/86057840": read only 0 of 8192 bytes


So I want to drop it, and recover from backup. But when I'm trying to drop the database I see:

postgres=# drop database bacula;
ERROR:  could not access status of transaction 15892843
DETAIL:  Could not open file "pg_subtrans/00F2": No such file or directory.


Is there any way to recover the database to working state, or drop it?

*ONLY* once you've made a full backup copy, you may be able to set zero_damaged_pages to get a usable dump.

Do you know what caused this? The missing files suggest it was probably file system corruption - was there a disk failure? fsck run with errors? Unexpected reboot on a RAID controller with a dead backup battery?

--
Craig Ringer

pgsql-admin by date:

Previous
From: Alexander Burbello
Date:
Subject: Exp/Imp data with blobs
Next
From: "Ruslan A. Bondar"
Date:
Subject: Re: How to deal with corrupted database?