Which commands are guaranteed to drop role - Mailing list pgsql-general

From Andrus
Subject Which commands are guaranteed to drop role
Date
Msg-id E71C41A2E324446CB790F4421E3CABB1@dell2
Whole thread Raw
Responses Re: Which commands are guaranteed to drop role
List pgsql-general
Hi!

Database "mydb" is owned by role "mydb_owner". 

User "currentuser"  tries to delete role "roletodelete" from this database using 

revoke all on all tables in schema public,firma1 from "roletodelete" cascade;
revoke all on all sequences in schema public,firma1 from "roletodelete" cascade;
revoke all on database mydb from "roletodelete" cascade;
revoke all on all functions in schema public,firma1 from "roletodelete" cascade;
revoke all on schema public,firma1 from "roletodelete" cascade;
revoke mydb_owner from "roletodelete" cascade;
ALTER DEFAULT PRIVILEGES IN SCHEMA public,firma1 revoke all ON TABLES from "roletodelete";
GRANT "roletodelete" TO "currentuser";
reassign owned by "roletodelete" to mydb_owner;
drop owned by "roletodelete";
drop role "roletodelete";

But got error

ERROR: role "roletodelete" cannot be dropped because some objects depend on it
DETAIL: privileges for schema public;

How to create script which  is guaranteed to delete role ?

This script already contains:

revoke all on schema public,firma1 from "roletodelete" cascade;

Why postgres complains that privileges for schema public depend on this role if they are revoked ?
How to fix this?

Andrus 



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Forcibly disconnect users from one database
Next
From: AC Gomez
Date:
Subject: Looping though schemas to grant access will work in PUBLIC loopiteration but fails on next iteration of user schema at: GRANT ALL PRIVILEGESON ALL TABLES IN SCHEMA