Dear pgsql-general,
I found something strange with DROP TABLE CASCADE.
create role a login;
grant all on database mydb to a;
create role b inherit role a login;
grant all on database mydb to b;
(session of role a)
psql -U a -d mydb;
create schema a;
create table a(i1 int);
(session of role b)
psql -U b -d mydb;
create schema b;
create table b(c1 char);
(session of role a)
create table c() inherits(a.a, b.b);
(session of role b)
drop table a.c;
-->> ERROR: permission denied for schema a
drop table b cascade
NOTICE: drop cascades to table a.c
DROP TABLE
Is it normal?
role b is not owner of table c but role b can drop it with cascade.
If I 'grant all on schema a to b', role b still cannot drop table c. Because role b is not owner of table c.
Sorry for poor English.
Thanks.