From: | Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: ALTER OBJECT any_name SET SCHEMA name |
Date: | 2010-11-05 19:58:00 |
Message-ID: | m2zktnee5z.fsf@2ndQuadrant.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> You're mistaken, and this case definitely does need more thought.
> A schema owner is presumed to have the unconditional right to
> drop anything in his schema, whether he owns it or not.
Here a paste of how it works with current code.
dim=# create schema bob authorization bob;
CREATE SCHEMA
dim=# alter extension unaccent set schema bob;
ALTER EXTENSION
dim=# \c - bob
You are now connected to database "dim" as user "bob".
dim=> drop schema bob;
ERROR: cannot drop schema bob because other objects depend on it
DETAIL: extension unaccent depends on schema bob
HINT: Use DROP ... CASCADE to drop the dependent objects too.
dim=> drop schema bob cascade;
NOTICE: drop cascades to extension unaccent
DROP SCHEMA
dim=> \c - dim
You are now connected to database "dim" as user "dim".
dim=# select installed from pg_extensions where name = 'unaccent';
installed
-----------
f
(1 row)
Isn't that enough for you?
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-11-05 20:02:07 | Re: temporary functions (and other object types) |
Previous Message | Marti Raudsepp | 2010-11-05 19:52:45 | Re: [PATCH] Revert default wal_sync_method to fdatasync on Linux 2.6.33+ |