bug in DROP TABLESPACE - Mailing list pgsql-hackers

From Christopher Kings-Lynne
Subject bug in DROP TABLESPACE
Date
Msg-id 40EA6A16.9080505@familyhealth.com.au
Whole thread Raw
Responses Re: bug in DROP TABLESPACE  (Gavin Sherry <swm@linuxworld.com.au>)
List pgsql-hackers
There is bad breakage in the DROP TABLESPACE command if the only thing 
"in" that tablespace is the default tablespaces for a schema:

test=# create tablespace myspace location '/home/chriskl/loc';
CREATE TABLESPACE
test=# create schema myschema tablespace myspace;
CREATE SCHEMA
test=# drop tablespace myspace;
DROP TABLESPACE
test=# select * from pg_namespace where nspname='myschema'; nspname  | nspowner | nsptablespace | nspacl
----------+----------+---------------+-------- myschema |        1 |         17228 |
(1 row)

test=# select * from pg_tablespace where oid=17228; spcname | spcowner | spclocation | spcacl
---------+----------+-------------+--------
(0 rows)

test=# create table myschema.blah (a int4);
ERROR:  could not create directory 
"/home/chriskl/local/data/pg_tblspc/17228/17227": No such file or directory

This is probably pretty nasty because it means there's no way to check 
if dropping a tablespace is safe :(

Maybe the only solution is if nsptablespace is invalid when creating an 
object in the schema, then fix it and ignore it?  Or fix it when first 
connecting to the database?

Chris


pgsql-hackers by date:

Previous
From: Andreas Pflug
Date:
Subject: Re: Bug with view definitions?
Next
From: Christopher Kings-Lynne
Date:
Subject: More thoughts on drop tablespace