| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | pg(at)fastcrypt(dot)com | 
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Some one deleted pg_database entry how to fix it? | 
| Date: | 2004-03-16 16:11:17 | 
| Message-ID: | 25265.1079453477@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Dave Cramer <pg(at)fastcrypt(dot)com> writes:
> psql dbname can still connect but when I go to the pg_database table the
> db is not there as a result I cannot do a pg_dump on it? 
Hm, it doesn't make a lot of sense that fresh connections would still
succeed if the pg_database row is deleted, but ...
> I tried forcing an entry into pg_database but it won't allow me to set
> the oid ?
You don't have to; the DB OID doesn't appear anywhere within the
database (except possibly with the database comment, if you have one).
So:
* Determine the old DB OID, by elimination if necessary.
* Create a new database and determine its OID.
* Shut down postmaster.
* Blow away $PGDATA/base/NEWOID, and rename $PGDATA/base/OLDOID to
  be $PGDATA/base/NEWOID.
* Restart postmaster.
* Try to figure out what you did wrong, so you don't do it again...
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2004-03-16 16:13:27 | Re: Custom format for pg_dumpall | 
| Previous Message | Marty Scholes | 2004-03-16 16:01:39 | Re: WAL write of full pages |