Voglio concedere drop
privilegi su tutte le tabelle e funzioni (non solo quelle di proprietà dell'utente) in un determinato schema di un database specifico per un ruolo specifico. Tuttavia, GRANT ALL PRIVILEGES
non è abbastanza e non ho trovato il modo di fare senza rendere il ruolo un superutente: il superutente ha diritti su altri database sullo stesso server, che non è quello che voglio. Non mi dispiacerebbe i privilegi di superutente limitati a un database specifico, ma non sono sicuro di come farlo.
Il mio codice:
CREATE USER _administrator PASSWORD 'pwd12345';
CREATE ROLE administrator NOLOGIN ADMIN _administrator;
GRANT ALL PRIVILEGES ON DATABASE "myDB" TO administrator;
GRANT ALL PRIVILEGES ON SCHEMA public TO administrator;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO administrator;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO administrator;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO administrator;
administrator
è il gruppo di myDB
amministratori di database, _administrator
è il ruolo più potente che la mia app client sarà in grado di accedere come.
Cosa mi sono perso o sbagliato?