Benutzer und Datenbanken verwalten
Diese Anleitung erklärt, wie Sie auf einem PostgreSQL-Cluster in der Hikube-Konsole Datenbanken erstellen, Erweiterungen aktivieren, Benutzer anlegen, ihre Rechte verwalten und ihre Passwörter erneuern.
Voraussetzungen
- Ein PostgreSQL-Cluster im Status Ready in Ihrem Projekt (siehe Schnellstart)
- Der Client
psql, um die Verbindungen zu testen
Alle Vorgänge erfolgen auf der Seite des Clusters: DB & Messaging → PostgreSQL → Name des Clusters. Die Seite hat zwei Registerkarten, Databases und Users.
Schritte
1. Eine Datenbank erstellen
- Klicken Sie in der Registerkarte Databases auf Create.
- Geben Sie den Database name ein, zum Beispiel
analytics: 1 bis 54 Zeichen, Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche, beginnend mit einem Buchstaben oder einem Unterstrich, aber nicht mitpg_. Die Namen der Systemdatenbankenpostgres,template0undtemplate1werden abgelehnt. - Wählen Sie unter PostgreSQL Extensions die Erweiterungen aus, die bei der Erstellung aktiviert werden sollen.
- Klicken Sie auf Create.
Die Datenbank erscheint mit ihren Erweiterungen in der Liste. Sie wird auch in der Karte Connection and Databases unter Initial Databases aufgeführt.
Sie können Datenbanken auch bereits bei der Erstellung des Clusters im Schritt Databases des Assistenten anlegen. Die Systemdatenbank postgres wird immer automatisch erstellt; sie ist der Plattform vorbehalten, und auf ihr kann kein Recht vergeben werden.
2. Die Erweiterungen einer Datenbank verwalten
- Öffnen Sie in der Registerkarte Databases das Menü Actions der Datenbank.
- Wählen Sie Manage extensions.
- Aktivieren oder deaktivieren Sie die Erweiterungen und klicken Sie dann auf Save.
Bei einer Systemdatenbank sind Manage extensions und Delete database deaktiviert: „System database: it can be neither changed nor deleted.“
Die angebotene Liste entspricht den auf der Plattform verfügbaren Erweiterungen, unter anderem pg_stat_statements, pgcrypto, uuid-ossp, pg_trgm, hstore, citext, postgres_fdw, pgaudit und vector (pgvector).
3. Einen Benutzer anlegen
- Klicken Sie in der Registerkarte Users auf Create a user.
- Geben Sie den Username ein: 3 bis 16 Zeichen, Kleinbuchstaben, Ziffern und Unterstriche, beginnend mit einem Buchstaben oder einem Unterstrich (zum Beispiel
report_reader). - Klicken Sie unter Databases für jede Datenbank, auf die der Benutzer zugreifen soll, auf Add access:
- Database name: Wählen Sie die Datenbank aus (Systemdatenbanken werden nicht angeboten);
- Rights: Administrator (Admin) (Lesen und Schreiben) oder Read-only.
- Klicken Sie auf Create user.
Der Bildschirm „User created successfully!“ zeigt das generierte Passwort an.
Kopieren Sie dieses Passwort sofort und bewahren Sie es sicher auf: Es wird nach dem Verlassen dieses Bildschirms nicht mehr angezeigt.
Klicken Sie anschließend auf Done and return to cluster.
4. Die Rechte eines Benutzers ändern
- Öffnen Sie in der Registerkarte Users das Menü Actions des Benutzers.
- Wählen Sie Manage Access.
- Fügen Sie mit Add Zugriffe hinzu, ändern Sie die Rights oder entfernen Sie eine Zeile.
- Klicken Sie auf Save.
Ein Recht auf einer Systemdatenbank (postgres, template0 oder template1), das vergeben wurde, bevor diese Datenbanken abgelehnt wurden, wird gesperrt und mit einem Warnhinweis angezeigt: Sie können die Zeile entfernen, aber ihre Rights nicht ändern.
Der Benutzername kann nicht geändert werden.
5. Das Passwort eines Benutzers erneuern
- Öffnen Sie das Menü Actions des Benutzers und wählen Sie Change Password.
- Klicken Sie im Fenster Rotate password auf Perform rotation.
- Kopieren Sie das angezeigte neue Passwort und klicken Sie dann auf Done.
Die Rotation widerruft das alte Passwort sofort. Aktualisieren Sie Ihre Anwendungen umgehend, um eine Unterbrechung zu vermeiden.
6. Eine Datenbank oder einen Benutzer löschen
- Datenbank: Menü Actions → Delete database.
- Benutzer: Menü Actions → Delete user.
Bestätigen Sie, indem Sie den exakten Namen des Elements eingeben, und klicken Sie dann auf Permanently delete. Beim Löschen einer Datenbank werden ihre Daten gelöscht.
7. Die Verbindung testen
# Benutzer mit Nur-Lese-Recht
psql "host=<host> port=5432 dbname=analytics user=report_reader sslmode=require"
-- Muss erfolgreich sein
SELECT current_user, current_database();
-- Muss für einen Benutzer mit Nur-Lese-Recht fehlschlagen
CREATE TABLE test (id int);
Überprüfung
- Die Registerkarte Databases listet Ihre Datenbanken und deren Erweiterungen auf.
- Die Registerkarte Users listet Ihre Benutzer auf, jeweils mit den zugänglichen Datenbanken und dem zugehörigen Recht (zum Beispiel
analytics (Read-only)oderanalytics (Admin)).
Weiterführende Informationen
- PostgreSQL-Konzepte: Rechte, Benennungsregeln
- Ressourcen ändern: Preset, Disk, externer Zugriff