Skip site navigation (1) Skip section navigation (2)

Re: BUG #1236: still in use tablespaces can be removed

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Fabien <coelho(at)cri(dot)ensmp(dot)fr>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #1236: still in use tablespaces can be removed
Date: 2004-10-17 18:20:51
Message-ID: 200410171820.i9HIKpo04229@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-bugs
I can confirm this is fixed in current CVS:
	
	test=> CREATE TABLESPACE tsp LOCATION  '/bjm/tmp';
	CREATE TABLESPACE
	test=> CREATE SCHEMA s TABLESPACE tsp;
	CREATE SCHEMA
	test=> DROP TABLESPACE tsp;
	DROP TABLESPACE
	test=> CREATE TABLE s.t(id SERIAL PRIMARY KEY);
	NOTICE:  CREATE TABLE will create implicit sequence "t_id_seq" for
	serial column "t.id"
	ERROR:  tablespace with OID 17231 does not exist
	DETAIL:  The default tablespace for schema "s" has been dropped.


---------------------------------------------------------------------------

PostgreSQL Bugs List wrote:
> 
> The following bug has been logged online:
> 
> Bug reference:      1236
> Logged by:          Fabien
> 
> Email address:      coelho(at)cri(dot)ensmp(dot)fr
> 
> PostgreSQL version: 8.0 Beta
> 
> Operating system:   Linux debian
> 
> Description:        still in use tablespaces can be removed
> 
> Details: 
> 
> Sorry if this bug was already reported.
> I could not search the list as http://archives.postgresql.org/pgsql-bugs/
> looks blank right now...
> 
> One can remove a tablespace although it is being
> used, putting the database in a slightly incoherent
> state. It was so in yesterday (27/08/2004) cvs head:
> 
> sh> mkdir /tmp/postgres
> pg> CREATE TABLESPACE tsp LOCATION '/tmp/postgres';
>   -- ok
> pg> CREATE SCHEMA s TABLESPACE tsp;
>   -- ok
> pg> DROP TABLESPACE tsp;
>   -- ok...
> pg> CREATE TABLE s.t(id SERIAL PRIMARY KEY); 
>   -- ERROR... cannot create directory
> 
> The bug is simply that DROP TABLESPACE looks whether
> the directory is empty, but it happens that the namespace's tablespace uses 
> do not create anything in the directory... 
> 
> I now that I can alter the tablespace entry manually
> in pg_namespace to correct this, but it looks like a bug to me anyway: the 
> database should not be so easy 
> to put in a in coherent state.
> 
> Suggested fix: create some empty file in the directory
> if it is used by a namespace. don't forget to move
> the file around when altering the namespace (well, once
> it will be implemented).
> 
> It does not seems practical to check for namespace's uses of a tablespace as 
> one belong to a cluster and the other to the database. 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

pgsql-bugs by date

Next:From: Theodore PetroskyDate: 2004-10-18 02:55:05
Subject: Mac OS X make check errors...
Previous:From: Tom LaneDate: 2004-10-17 17:53:53
Subject: Re: BUG #1288: Can't create database in a French environment

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group