Ich möchte drop
einer bestimmten Rolle Berechtigungen für alle Tabellen und Funktionen (nicht nur für diejenigen, die dem Benutzer gehören) in einem bestimmten Schema einer bestimmten Datenbank gewähren . Dies reicht GRANT ALL PRIVILEGES
jedoch nicht aus und ich habe nicht herausgefunden, wie ich die Rolle zum Superuser machen soll - der Superuser hat Rechte über andere Datenbanken auf demselben Server, was ich nicht möchte. Ich hätte nichts gegen Superuser-Berechtigungen, die auf eine bestimmte Datenbank beschränkt sind, aber ich bin mir nicht sicher, wie ich das machen soll.
Mein Code:
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
ist die Gruppe der myDB
Datenbankadministratoren, _administrator
ist die mächtigste Rolle, unter der sich meine Client-App anmelden kann.
Was habe ich vermisst oder falsch gemacht?
quelle