Re: How to reindex when unable to open relation?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Shoaib Mir" <shoaibmir(at)gmail(dot)com>
Cc: "Darren Reed" <darrenr+postgres(at)fastmail(dot)net>, pgsql-admin(at)postgresql(dot)org
Subject: Re: How to reindex when unable to open relation?
Date: 2008-02-26 06:54:09
Message-ID: 26104.1204008849@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

"Shoaib Mir" <shoaibmir(at)gmail(dot)com> writes:
> On Tue, Feb 26, 2008 at 5:13 PM, Darren Reed <darrenr+postgres(at)fastmail(dot)net>
> wrote:
>> pg_dump: failed sanity check, parent table OID 16401 of pg_rewrite entry
>> OID 16403 not found
>>
>> Is this recoverable without using a backup?

> Looks like to me corrupted system catalog!

Yah.

> I guess when you dropped the table it didn't delete the record from
> pg_rewrite was not deleted when the parent table was dropped. So you can try
> doing something:
> delete from pg_rewrite where oid = 16403;

That's not gonna help for these:

>> ERROR: could not open relation with OID 16399
>> ERROR: index "pg_attrdef_adrelid_adnum_index" contains unexpected zero
>> page at block 1
>> ERROR: could not open relation with OID 16389
>> ERROR: could not open relation with OID 16393

I'm afraid Darren's DB has taken multiple mortal hits --- the evidence
here suggests that at least one pg_class page and at least one
pg_attrdef_adrelid_adnum_index page have been silently zeroed out by
*something*. The index could be reconstituted by REINDEX, if its
underlying table is undamaged; but no amount of reindexing will bring
back missing table rows :-(

There's no info here to suggest exactly what went wrong; Darren, do you
want to fess up to any hardware problems, tripped-over power cords, or
such? What PG version is this anyway?

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Darren Reed 2008-02-26 06:59:56 Re: How to reindex when unable to open relation?
Previous Message Shoaib Mir 2008-02-26 06:33:07 Re: How to reindex when unable to open relation?