Wie legt man einen Benutzer in PostgreSQL an? (postgresql create user)
Angesichts des stetig wachsenden Bedarfs an der Verwaltung großer Datenmengen entwickeln sich Datenbanksysteme kontinuierlich weiter. PostgreSQL zeichnet sich als eine der zuverlässigsten und leistungsstärksten Lösungen aus, die derzeit verfügbar sind, und wird sowohl für kleine als auch für groß angelegte Anwendungen in großem Umfang eingesetzt.
Diese Schritt-für-Schritt-Anleitung führt Sie durch das Anlegen eines Benutzers in PostgreSQL bzw. erklärt, wie Sie einen Benutzer in PostgreSQL anlegen. Außerdem behandeln wir, wie Sie einen PostgreSQL-Server unter Ubuntu mithilfe von Docker installieren.
Was ist PostgreSQL?
PostgreSQL ist ein leistungsstarkes, quelloffenes objektrelationales Datenbankmanagementsystem (ORDBMS), das für seine Leistung, Datenintegrität und Flexibilität bekannt ist. Aufgrund seiner Stabilität und seines umfangreichen Funktionsumfangs ist es eine beliebte Wahl bei Entwicklern und Unternehmen.
PostgreSQL hält sich an die ACID-Prinzipien – Atomarität, Konsistenz, Isolation und Dauerhaftigkeit –, die zuverlässige Transaktionen auch bei Systemabstürzen oder unerwarteten Ausfällen gewährleisten.
Wichtigste Funktionen von PostgreSQL:
- Erweiterte Unterstützung für geografische Daten mit Indizierung und räumlichen Abfragen
- Integrierte Unterstützung für die Datenreplikation
- Ein robustes, rollenbasiertes Zugriffskontrollsystem
- Volltextsuchfunktionen
- Multi-Version Concurrency Control (MVCC) für eine effiziente Transaktionsabwicklung
- Flexible Unterstützung für Schlüssel-Wert-Speicher
Voraussetzungen
Bevor Sie beginnen, stellen Sie bitte sicher, dass Folgendes vorhanden ist:
Ein System, auf dem die neueste Version von Ubuntu läuft
Docker ist auf Ihrem Rechner installiert (lesen Sie bei Bedarf die offizielle Dokumentation von Docker nach)Ihr Benutzerkonto sollte der Docker-Gruppe angehören, damit Sie Docker-Befehle ausführen können, ohne jedes Mal Root-Rechte zu benötigen.
So erstellen Sie einen Benutzer in PostgreSQL: Schritt-für-Schritt-Anleitung
Um einen neuen Benutzer (oder eine neue Rolle) in PostgreSQL zu erstellen, richten wir zunächst eine PostgreSQL-Instanz in einem Docker-Container ein. Sobald der Container läuft, stellen wir mithilfe des Befehlszeilentools `psql` eine Verbindung zum PostgreSQL-Server her und fahren mit der Erstellung und Verwaltung von Rollen fort – alles innerhalb der Docker-Umgebung.
Schritt 1: PostgreSQL mit Docker einrichten
Der einfachste Weg, PostgreSQL zum Laufen zu bringen, ist die Verwendung des offiziellen Docker-Images, das von der PostgreSQL-Community gepflegt wird.
Sie können einen Container mit dem folgenden Befehl starten:
docker run --name postgres_db -e POSTGRES_PASSWORD=mysecretpassword -d postgres
Ersetzen Sie „mysecretpassword“ durch ein starkes, sicheres Passwort Ihrer Wahl. Beispiel:
# docker run --name postgres_db -e POSTGRES_PASSWORD=password123 -d postgres

Dieser Befehl ruft das PostgreSQL-Image ab (sofern es noch nicht heruntergeladen wurde) und startet einen Container mit einem Standardbenutzer namens „postgres“, der über vollständige Superuser-Rechte verfügt.
Um zu überprüfen, ob der Container ordnungsgemäß läuft, verwenden Sie folgenden Befehl:
# docker ps

Dadurch werden alle aktiven Container aufgelistet, einschließlich Ihrer PostgreSQL-Instanz.
Schritt 2: Zugriff auf PostgreSQL über psql
Sobald Ihr PostgreSQL-Container läuft, können Sie über psql – das integrierte interaktive PostgreSQL-Terminal – eine Verbindung zu ihm herstellen.
Verwenden Sie den folgenden Befehl, um auf die psql-Shell innerhalb des Containers zuzugreifen:
# docker exec -it postgres_db psql -U postgres

Hier:
- Mit „docker exec“ können Sie Befehle innerhalb eines laufenden Containers ausführen.
- -it aktiviert den interaktiven Modus.
- -U postgres gibt an, dass Sie sich als Benutzer „postgres“ anmelden möchten.
Sobald Sie sich in der PostgreSQL-Shell befinden, können Sie alle vorhandenen Rollen mit folgendem Befehl auflisten:
\du

Dadurch wird eine Liste der Rollen (Benutzer) zusammen mit den ihnen zugewiesenen Berechtigungen angezeigt.
Wichtiger Hinweis: PostgreSQL verwendet den Begriff „Rolle“, um sowohl Benutzer als auch Gruppen zu bezeichnen. Eine Rolle kann über Anmeldeberechtigungen verfügen (wie ein Benutzer) oder als Gruppe fungieren, von der andere Rollen Berechtigungen erben können. Im Wesentlichen dienen Rollen in PostgreSQL als Mechanismus zur Zugriffskontrolle.
Schritt 3: Einen neuen Benutzer in PostgreSQL anlegen (psql create user)
In PostgreSQL ist ein Benutzer lediglich eine Rolle, die über die Berechtigung zum Einloggen verfügt. Sie können ihn mit dem Befehl CREATE USER anlegen, der automatisch die LOGIN-Berechtigung einbezieht.
Um beispielsweise einen Benutzer namens „editor“ mit einem Passwort anzulegen:
CREATE USER editor WITH PASSWORD 'password123';
Um zu überprüfen, ob der Benutzer erfolgreich hinzugefügt wurde, führen Sie folgenden Befehl aus:
\du

Dadurch werden alle Rollen und die ihnen zugewiesenen Berechtigungen aufgelistet. Der Benutzer „editor“ erscheint in der Liste mit den Standardeinstellungen.
Schritt 4: Zusätzliche Berechtigungen erteilen
Sobald der Benutzer angelegt ist, können Sie ihm zusätzliche Berechtigungen zuweisen. Um dem Benutzer „editor“ beispielsweise das Anlegen neuer Datenbanken zu gestatten, führen Sie folgenden Befehl aus:
ALTER USER editor CREATEDB;
Verwenden Sie erneut den Befehl \du, um zu überprüfen, ob die Berechtigung CREATEDB zugewiesen wurde.

Schritt 5: Wechseln Sie zum neuen Benutzer
Sie können Ihre Sitzung auf den neuen Benutzer umstellen mit:
SET ROLE editor;
Da dieser Benutzer nun die Berechtigung zum Anlegen von Datenbanken besitzt, können Sie versuchen, eine Datenbank anzulegen:
CREATE DATABASE articles_db;

Fazit
In diesem Tutorial wurde gezeigt, wie Sie einen PostgreSQL-Container mit Docker ausführen, einen neuen Benutzer (editor) anlegen, Datenbankrechte zuweisen und die Rolle zur Verwaltung von Datenbanken nutzen. Für fortgeschrittenere Konfigurationen sollten Sie unbedingt die offizielle PostgreSQL-Dokumentation konsultieren.
Bluevps bietet die sofortige Einrichtung von KVM-VPS an 20 Standorten weltweit und stellt sicher, dass Ihr virtueller Server innerhalb weniger Minuten einsatzbereit ist. Ganz gleich, ob Sie unter Linux oder Windows arbeiten – Sie profitieren von voller Flexibilität dank einer Auswahl an Control Panels und 100 % dedizierten Ressourcen, die durch die KVM-Virtualisierung garantiert werden. Dies gewährleistet eine konstante Leistung und vollständige Isolation Ihrer Umgebung.
Dank des bequemen Fernzugriffs und der Fernsteuerung ist die Verwaltung Ihres VPS einfach und effizient, ganz gleich, wo Sie sich befinden. Darüber hinaus unterstützt Bluevps Sie mit einem Kundensupport rund um die Uhr, was das Unternehmen zu einer zuverlässigen Wahl für Entwickler, Unternehmen und Hosting-Begeisterte macht. Entscheiden Sie sich für Bluevps.com, wenn Sie weltweit leistungsstarke, sichere und sofort verfügbare VPS-Lösungen suchen.
Blog