Thread: V7.0 Error: OID ##### no longer exists in pg_databas e

V7.0 Error: OID ##### no longer exists in pg_databas e

From
"Barnes, Sandy (Sandra)"
Date:
> Any ideas on why this error would occur after dropping an existing
> database and than re-creating it (createdb)?  The only work around so far
> is to completely destroy the postgres instance and start over.  
> 
> It appears that the pg_database may be getting currupted.
> 
> Sandy Barnes
> Honeywell
> Business & General Aviation Engineering
> One Technology Center
> 23500 West 105th Street
> Olathe, KS.     66061
> tel         913.712.2027
> fax        913.712.1347
> email    sandy.barnes@honeywell.com
> 


Re: V7.0 Error: OID ##### no longer exists in pg_databas e

From
Tom Lane
Date:
"Barnes, Sandy (Sandra)" <Sandy.Barnes@Honeywell.com> writes:
>> Any ideas on why this error would occur after dropping an existing
>> database and than re-creating it (createdb)?

I assume what you're really talking about isDatabase 'xxx', OID nnn, has disappeared from pg_database
?

It's theoretically possible for that to happen if, say, a CREATE
DATABASE or DROP DATABASE failed and was rolled back part way through.
I've never heard of it happening in normal usage, though.  If you
have a reproducible way of creating this situation I'd like to know
what it is.

>> The only work around so far
>> is to completely destroy the postgres instance and start over.

Vacuuming pg_database should fix it.  The problem is that backend
startup is seizing on a dead pg_database tuple to tell it the OID
of the target database; vacuum out the dead tuples and you'll be OK.
        regards, tom lane

PS: Memo to folks reporting problems: PLEASE quote any error message
you may be getting EXACTLY.  It's a lot easier to look at the related
code if we can just grep for the message...


Re: V7.0 Error: OID ##### no longer exists in pg_databas e

From
Bruce Momjian
Date:
I think this was fixed today.

> 
> > Any ideas on why this error would occur after dropping an existing
> > database and than re-creating it (createdb)?  The only work around so far
> > is to completely destroy the postgres instance and start over.  
> > 
> > It appears that the pg_database may be getting currupted.
> > 
> > Sandy Barnes
> > Honeywell
> > Business & General Aviation Engineering
> > One Technology Center
> > 23500 West 105th Street
> > Olathe, KS.     66061
> > tel         913.712.2027
> > fax        913.712.1347
> > email    sandy.barnes@honeywell.com
> > 
> 


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026