On Wed, Apr 9, 2008 at 4:47 PM, Mikko Partio <[EMAIL PROTECTED]> wrote:

> Hello all
>
> my struggle with the database continues (see earlier thread titled "too
> many trigger records found for relation xyz").
>
> Today, I created yet another to table to the same database. Everything
> went ok, no errors or anything, but when I checked pg_tables -view I saw two
> tables with the same name. Instantly I queried pg_class and yes there was
> again two tables with same oid. I dropped the table before anything more
> serious could happen, but then postgres started to complain of "cache lookup
> failed for relation ...". I disconnected my psql session and tried to
> reconnect but failed to do so:
>
> 2008-04-09 16:39:25 EEST [18984]: [1-1] FATAL:  could not open relation
> 1663/16386/544592: No such file or directory
>
> Indeed, there is no such file in that directory. I'm guessing that file is
> connected to the table I just dropped. Now, is there anything to do to get
> the database back online? I can still connect to other databases in the same
> instance


The cure was to create file 1663/16386/54459 8K in size with dd. The file in
question was in fact the oid index on pg_class -- I had issued a REINDEX on
pg_class just a moment before and apparantly something went wrong and the
system lost track of the index. There was also two entries in pg_index for
index pg_class_oid_index. After I removed the other entry and reindexed
pg_class and pg_index, everything seems to be working ok. All the symptoms
indicate that perhaps a xid wraparound had happened, but there is no such
warning in logs and age(datfrozenxid) went never higher than say
250,000,000. Does anybody have a clue what might have happened?

Regards

Mikko

Reply via email to