On Tue, 6 Jul 2004, Christopher Kings-Lynne wrote:
> 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
Tom already mentioned this just after committing tablespaces: 'Minor DROP
TABLESPACE issue'
http://www.mail-archive.com/pgsql-hackers@postgresql.org/msg46540.html
In fact, I see that you contributed to the thread :-).
I think the result of the thread was to make the error message a little
more helpful and that adding empty files to represent schemas would be a
pain (think WAL and name collision).
Thanks,
Gavin