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

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: BUG #1236: still in use tablespaces can be removed
Дата
Msg-id 200410171820.i9HIKpo04229@candle.pha.pa.us
обсуждение исходный текст
Ответ на BUG #1236: still in use tablespaces can be removed  ("PostgreSQL Bugs List" <pgsql-bugs@postgresql.org>)
Список 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@cri.ensmp.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@postgresql.org
>

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

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #1288: Can't create database in a French environment
Следующее
От: Theodore Petrosky
Дата:
Сообщение: Mac OS X make check errors...