Próbuję utworzyć ograniczonych użytkowników bazy danych dla aplikacji, nad którą pracuję, i chcę usunąć użytkownika bazy danych Postgres, którego używam do eksperymentowania. Czy istnieje sposób, aby usunąć użytkownika bez konieczności wcześniejszego ręcznego cofnięcia wszystkich jego praw lub cofnąć wszystkie uprawnienia, które ma użytkownik?
CREATE TABLE foo(bar SERIAL); ALTER TABLE foo OWNER TO postgres; CREATE USER testuser; GRANT ALL ON foo TO testuser; DROP USER testuser
dał komunikaty o błędach:ERROR: role "testuser" cannot be dropped because some objects depend on it DETAIL: access to table foo
. JednakDROP OWNED BY testuser
załatwił sprawę, najwyraźniej Postgres uważa granty za przedmioty, które można upuszczać.