Re: Problems with missing OIDs

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alexander Lohse <al(at)humantouch(dot)de>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Problems with missing OIDs
Date: 2007-11-03 17:00:49
Message-ID: 11596.1194109249@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Alexander Lohse <al(at)humantouch(dot)de> writes:
> after a disk-crash some weeks ago and a successful recovery, I now
> find some strange issues in postgres.
> I am not sure they are related to the crash, but I figure chances
> are ...

That really shouldn't have happened in the first place. Are you running
an up-to-date Postgres version? Are you sure your disk drives don't lie
about write completion?

> One of them is: When trying to vacuum one database I get the following
> message:
> "ERROR: could not open relation with OID 36893600"

> Now I searched and found a row in pg_index with
> indexrelid => 36893600
> Is it save to just drop this row? Or how do I find out which index is
> affected?

Well, if the pg_class row with that OID is gone, then there's no direct
way to know. But you should be able to look at the row referenced by
indrelid, to find out which table it was an index *of*. Hopefully you
know your schema well enough to figure out which of its indexes is
missing.

I would recommend a dump/initdb/reload cycle to try to detect and clean
up any other corruption. Loss of just one pg_class row doesn't seem
like a very probable failure, so I'm afraid you may have more problems.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2007-11-03 18:00:28 Re: RPATH issue with libpq on Solaris 8 (gcc)
Previous Message Jason Testart 2007-11-03 04:35:16 RPATH issue with libpq on Solaris 8 (gcc)