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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-bugs by date

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