In diesem Schritt erstellen Sie einen Benutzer und gewähren ihm die Mitgliedschaft in der reporting_role
, um die Berechtigungen zu testen.
-
Verbinden Sie sich mit dem PostgreSQL-Server:
Verbinden Sie sich mit dem PostgreSQL-Server mit dem psql
Kommandozeilen-Tool als Benutzer postgres
.
sudo -u postgres psql
-
Verbinden Sie sich mit der Datenbank reporting_db
:
Verbinden Sie sich mit der Datenbank reporting_db
:
\c reporting_db
-
Erstellen Sie einen Benutzer und gewähren Sie die Mitgliedschaft in der reporting_role
:
Erstellen wir einen neuen Benutzer namens report_user
mit einem Passwort (ersetzen Sie your_password
durch ein sicheres Passwort). Dann gewähren wir diesem Benutzer die Mitgliedschaft in der reporting_role
. Dies bedeutet, dass report_user
die Berechtigungen erbt, die der reporting_role
gewährt wurden.
CREATE USER report_user WITH PASSWORD 'your_password';
GRANT reporting_role TO report_user;
Sie sollten die folgende Ausgabe sehen:
CREATE ROLE
GRANT
-
Daten in die Tabelle sales_data
einfügen:
Fügen Sie einige Beispieldaten in die Tabelle sales_data
ein, um sie zu testen.
INSERT INTO sales_data (product, amount) VALUES ('Laptop', 1200.00), ('Mouse', 25.00), ('Keyboard', 75.00);
Sie sollten die folgende Ausgabe sehen:
INSERT 0 3
Verlassen Sie die psql-Shell.
\q
-
Verbinden Sie sich als report_user
mit der Datenbank reporting_db
:
Öffnen Sie ein neues Terminalfenster und verwenden Sie den folgenden Befehl:
psql -d reporting_db -U report_user -W
Sie werden nach dem Passwort gefragt, das Sie für report_user
festgelegt haben. Geben Sie es ein.
-
Testen Sie die Berechtigungen:
Versuchen Sie nun, Daten aus der Tabelle sales_data
auszuwählen:
SELECT * FROM sales_data;
Sie sollten die von Ihnen eingefügten Daten sehen:
id | product | amount
----+----------+--------
1 | Laptop | 1200.00
2 | Mouse | 25.00
3 | Keyboard | 75.00
(3 rows)
Wenn Sie diese Ausgabe sehen, bedeutet dies, dass der report_user
das SELECT
-Privileg für die Tabelle sales_data
hat, das über die reporting_role
gewährt wurde.
Verlassen Sie die psql-Shell.
\q