Роль удаления PostgreSQL с привилегиями по умолчанию

Я пытаюсь отказаться от роли и разорвать все связи с ней, которые я могу найти, но есть одна давняя проблема, которую я не могу решить. Когда я запускаю это:

drop role hank

Он говорит мне:

ERROR:  role "hank" cannot be dropped because some objects depend on it
DETAIL:  privileges for default privileges on new functions belonging to role brandon in schema alteryx
privileges for default privileges on new relations belonging to role brandon in schema alteryx

Этот DDL существует в схеме:

ALTER DEFAULT PRIVILEGES IN SCHEMA alteryx
GRANT INSERT, SELECT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON TABLES
TO hank;

ALTER DEFAULT PRIVILEGES IN SCHEMA alteryx
GRANT EXECUTE ON FUNCTIONS TO hank;

И когда я выполняю на них revoke, команда выполняется успешно, но привилегии остаются нетронутыми.

Я просмотрел DDL и не могу найти, как решить эту проблему, не пытаясь выполнить сброс каскада.

Любое руководство приветствуется.


person Hambone    schedule 07.01.2019    source источник


Ответы (1)


Вы должны выполнить следующие два оператора, чтобы избавиться от привилегий по умолчанию, которые блокируют вас:

ALTER DEFAULT PRIVILEGES FOR ROLE brandon IN SCHEMA alteryx
   REVOKE ALL ON TABLES FROM hank;
ALTER DEFAULT PRIVILEGES FOR ROLE brandon IN SCHEMA alteryx
   REVOKE ALL ON FUNCTIONS FROM hank;
person Laurenz Albe    schedule 07.01.2019