Catch-22
Hi:
After running intoa problem last week where I cannot rename an existing
DB because it's reported to not exist (I can attach to it and query OK,
but rename gives... "database foo does not exist"), I've done a full
dump of the DB and want to delete/recreate it with the backup. But I
can't "dropdb" because "database foo does not exist".
What's the course I should take at this point? I could "rm -r" the DB
root (the piece after the "-D" in pg_ctl commands), but that may screw
things up even worse.
Again, I have a backup and want to delete the DB, but can't because the
"dropdb" tool says the DB does not exist.
v8.2.0 on Linux (and yes, I've requested an upgrade to 8.2.6)
-dave
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
After running intoa problem last week where I cannot rename an existing
DB because it's reported to not exist (I can attach to it and query OK,
but rename gives... "database foo does not exist"),
Would you show the results of
select oid,ctid,xmin,xmax,datname from pg_database
as well as the contents of $PGDATA/global/pg_database and a directory
listing of $PGDATA/base?
regards, tom lane
stdb=# select oid,ctid,xmin,xmax,datname from pg_database
stdb-# ;
oid | ctid | xmin | xmax | datname
--------+--------+---------+------+--------------
10819 | (0,1) | 592 | 0 | postgres
1 | (0,6) | 585 | 0 | template1
10818 | (0,7) | 586 | 0 | template0
823888 | (0,13) | 761678 | 0 | cells_dev
19810 | (0,49) | 497579 | 0 | stdb2
597974 | (3,2) | 2346578 | 0 | stdb
19882 | (3,3) | 2346580 | 0 | stdb_standby
16384 | (3,4) | 2364457 | 0 | cells
(8 rows)
mmdcc228> dropdb stdb
ERROR: database "stdb" does not exist
STATEMENT: DROP DATABASE stdb;
dropdb: database removal failed: ERROR: database "stdb" does not exist
mmdcc228>
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Monday, March 17, 2008 11:33 AM
To: Gauthier, Dave
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Catch-22
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
After running intoa problem last week where I cannot rename an
existing
DB because it's reported to not exist (I can attach to it and query
OK,
but rename gives... "database foo does not exist"),
Would you show the results of
select oid,ctid,xmin,xmax,datname from pg_database
as well as the contents of $PGDATA/global/pg_database and a directory
listing of $PGDATA/base?
regards, tom lane
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
After running intoa problem last week where I cannot rename an
existing
DB because it's reported to not exist (I can attach to it and query
OK,
but rename gives... "database foo does not exist"),
Would you show the results of
select oid,ctid,xmin,xmax,datname from pg_database
as well as the contents of $PGDATA/global/pg_database and a directory
listing of $PGDATA/base?regards, tom lane
On Mar 17, 2008, at 10:45 AM, Gauthier, Dave wrote:
stdb=# select oid,ctid,xmin,xmax,datname from pg_database
stdb-# ;
oid | ctid | xmin | xmax | datname
--------+--------+---------+------+--------------
10819 | (0,1) | 592 | 0 | postgres
1 | (0,6) | 585 | 0 | template1
10818 | (0,7) | 586 | 0 | template0
823888 | (0,13) | 761678 | 0 | cells_dev
19810 | (0,49) | 497579 | 0 | stdb2
597974 | (3,2) | 2346578 | 0 | stdb
19882 | (3,3) | 2346580 | 0 | stdb_standby
16384 | (3,4) | 2364457 | 0 | cells
(8 rows)mmdcc228> dropdb stdb
ERROR: database "stdb" does not exist
STATEMENT: DROP DATABASE stdb;dropdb: database removal failed: ERROR: database "stdb" does not
exist
mmdcc228>
You left out the directory listings Tom asked for.
Erik Jones
DBA | Emma®
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)
Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com
Woops, sorry....
mmdcc228> more global/pg_database
"postgres" 10819 1663 524
"template1" 1 1663 524
"template0" 10818 1663 524
"cells_dev" 823888 1663 524
"stdb2" 19810 1663 524
"stdb" 597974 1663 524
"stdb_standby" 19882 1663 524
"cells" 16384 1663 524
mmdcc228> ls base/
1 10818 10819 16384 16460 19810 19882 597974 823888
-----Original Message-----
From: Erik Jones [mailto:erik@myemma.com]
Sent: Monday, March 17, 2008 12:20 PM
To: Gauthier, Dave
Cc: Tom Lane; pgsql-general@postgresql.org
Subject: Re: [GENERAL] Catch-22
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
After running intoa problem last week where I cannot rename an
existing
DB because it's reported to not exist (I can attach to it and query
OK,
but rename gives... "database foo does not exist"),
Would you show the results of
select oid,ctid,xmin,xmax,datname from pg_database
as well as the contents of $PGDATA/global/pg_database and a directory
listing of $PGDATA/base?regards, tom lane
On Mar 17, 2008, at 10:45 AM, Gauthier, Dave wrote:
stdb=# select oid,ctid,xmin,xmax,datname from pg_database
stdb-# ;
oid | ctid | xmin | xmax | datname
--------+--------+---------+------+--------------
10819 | (0,1) | 592 | 0 | postgres
1 | (0,6) | 585 | 0 | template1
10818 | (0,7) | 586 | 0 | template0
823888 | (0,13) | 761678 | 0 | cells_dev
19810 | (0,49) | 497579 | 0 | stdb2
597974 | (3,2) | 2346578 | 0 | stdb
19882 | (3,3) | 2346580 | 0 | stdb_standby
16384 | (3,4) | 2364457 | 0 | cells
(8 rows)mmdcc228> dropdb stdb
ERROR: database "stdb" does not exist
STATEMENT: DROP DATABASE stdb;dropdb: database removal failed: ERROR: database "stdb" does not
exist
mmdcc228>
You left out the directory listings Tom asked for.
Erik Jones
DBA | Emma(r)
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)
Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com
On Mon, Mar 17, 2008 at 08:45:59AM -0700, Gauthier, Dave wrote:
stdb=# select oid,ctid,xmin,xmax,datname from pg_database
stdb-# ;
oid | ctid | xmin | xmax | datname
--------+--------+---------+------+--------------
10819 | (0,1) | 592 | 0 | postgres
1 | (0,6) | 585 | 0 | template1
10818 | (0,7) | 586 | 0 | template0
823888 | (0,13) | 761678 | 0 | cells_dev
19810 | (0,49) | 497579 | 0 | stdb2
597974 | (3,2) | 2346578 | 0 | stdb
19882 | (3,3) | 2346580 | 0 | stdb_standby
16384 | (3,4) | 2364457 | 0 | cells
(8 rows)mmdcc228> dropdb stdb
ERROR: database "stdb" does not exist
STATEMENT: DROP DATABASE stdb;
dropdb: database removal failed: ERROR: database "stdb" does not exist
mmdcc228>
try this:
while connected to stdb (in psql):
\connect template1
drop database stdb;
depesz
--
quicksil1er: "postgres is excellent, but like any DB it requires a
highly paid DBA. here's my CV!" :)
http://www.depesz.com/ - blog dla ciebie (i moje CV)
"Gauthier, Dave" <dave.gauthier@intel.com> writes:
Woops, sorry....
mmdcc228> more global/pg_database
"postgres" 10819 1663 524
"template1" 1 1663 524
"template0" 10818 1663 524
"cells_dev" 823888 1663 524
"stdb2" 19810 1663 524
"stdb" 597974 1663 524
"stdb_standby" 19882 1663 524
"cells" 16384 1663 524
mmdcc228> ls base/
1 10818 10819 16384 16460 19810 19882 597974 823888
Huh. That matches up with the OID shown in pg_database, so it's
sure not clear what the problem is.
Could you grab a copy of the appropriate version of pg_filedump from
http://sources.redhat.com/rhdb/
and dump out pg_database with it? The best results would be from
pg_filedump -i -f $PGDATA/global/1262
regards, tom lane