Re: ERROR: could not open relation with OID - Mailing list pgsql-general

From Tom Lane
Subject Re: ERROR: could not open relation with OID
Date
Msg-id 16719.1187842860@sss.pgh.pa.us
Whole thread Raw
In response to ERROR: could not open relation with OID  ("Susy Ham" <sham@ncircle.com>)
List pgsql-general
"Susy Ham" <sham@ncircle.com> writes:
> We are trying to perform a 'reindex database' and it will fail at
> varying points with a message like:
>     ERROR:  could not open relation with OID 587495058
>                                            or
>     ERROR:  could not open relation with OID 587603875

Ugh :-(

> When we queried pg_class we got no rows returned:
> select oid,* from pg_class where oid in (587603875, 587495058);

Indeed not, since the error message is complaining exactly that it
couldn't find any such pg_class row.  What you need to be looking into
is where the reference to the OID came from.  I'd try looking into
pg_index and maybe pg_depend to see if there are rows linking to these
OIDs.

Also, in a message of this sort you really oughta expand a bit on your
reasons for needing a 'reindex database' in the first place, and the
procedure you are using for it.  If you are trying to recover from
system catalog corruption then there's a number of subtle tricks to use
--- the main one being to run the backend with -P (which means "don't
trust the system indexes").

While I'm asking for specifics: exactly which PG version is this?

            regards, tom lane

pgsql-general by date:

Previous
From: Michael Glaesemann
Date:
Subject: Re: %TYPE
Next
From: Tom Lane
Date:
Subject: Re: CPU load high