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

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "Barnes, Sandy (Sandra)" <Sandy.Barnes@Honeywell.com>
Cc: "'pgsql-hackers@postgresql.org'" <pgsql-hackers@postgresql.org>
Date: 2001-01-03T20:56:23Z
Lists: pgsql-hackers
"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 is
	Database '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...