Erstellen Sie einen neuen schreibgeschützten Benutzer in postgres

9

Ich möchte einen neuen Benutzer in einer vorhandenen postgresqlDatenbank auf einem Ubuntu-Computer erstellen . Ich möchte diesem Benutzer einen schreibgeschützten Zugriff auf alle Tabellen gewähren.

Wie mache ich es? Muss ich auch unter Ubuntu einen neuen Benutzer erstellen?

Vielen Dank,

Udi

Adam Matan
quelle

Antworten:

20

Verweis aus diesem Artikel!

Skript zum Erstellen eines schreibgeschützten Benutzers:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

Weisen Sie diesem schreibgeschützten Benutzer die Berechtigung zu:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;
Anvesh
quelle
Beeindruckend! Eine neue, relevante Antwort nach mehr als 6 Jahren.
Adam Matan
Es ist es wert. Dies war der Top-Link für mich, als ich nach "Nur-Lese-Benutzer in Postgres erstellen" suchte. Der Top-Artikel mit einem relevanten Beispiel ist ein Gewinn in meinem Buch.
Audrius
3

Es ist nicht erforderlich, einen neuen Benutzer im Betriebssystem zu erstellen. Einfach ausgeben:

CREATE USER newusername

in psql (oder pgadmin oder einem anderen Tool, das Sie bevorzugen) und Sie haben einen neuen Benutzer. Welchen Zugriff dieser Benutzer hat, hängt davon ab, wofür Ihre Tabellen eingerichtet sind. Standardmäßig hat es jedoch keine Berechtigungen für Tabellen, daher müssen Sie dies GEWÄHREN. Wenn Sie der öffentlichen Gruppe bereits Berechtigungen erteilt haben, verfügt der Benutzer von Anfang an über diese Berechtigungen.

Magnus Hagander
quelle