So erstellen Sie einen Benutzer in PostgreSQL Verwendung von PgAdmin

⚡ Intelligente Zusammenfassung

Erstellen eines Benutzers in PostgreSQL Dies kann visuell in pgAdmin oder mit dem Befehl CREATE USER in der SQL-Shell erfolgen. Anschließend können Sie Berechtigungen mit GRANT erteilen, Rollen mit ALTER USER ändern und Konten mit DROP USER löschen.

  • 🖱️ In pgAdmin erstellen: Klicken Sie mit der rechten Maustaste auf „Anmelden/Gruppenrollen“, geben Sie einen Namen ein, legen Sie ein Passwort und Berechtigungen fest und speichern Sie anschließend, um den Benutzer zu erstellen.
  • 💻 Befehl zum Erstellen eines Benutzers: In der SQL-Shell legt der Befehl CREATE USER name WITH options Benutzername, Superuser und Passwort in einem einzigen Befehl fest.
  • 🔑 Zugriff gewähren: GRANT ALL PRIVILEGES ON DATABASE db TO user gewährt einem bestehenden Benutzer Zugriff auf eine Datenbank.
  • 🔧 BENUTZER ÄNDERN: Mit ALTER USER werden die Berechtigungen einer Rolle angepasst, indem Berechtigungen wie SUPERUSER hinzugefügt oder entzogen werden.
  • 🗑️ DROP-BENUTZER: DROP USER entfernt ein Konto, jedoch erst, nachdem es keine Datenbankobjekte mehr besitzt.
  • 🧾 Rolle vs. Benutzer: CREATE USER ist standardmäßig auf LOGIN eingestellt, während CREATE ROLE standardmäßig auf NOLOGIN eingestellt ist; ansonsten sind sie identisch.

So erstellen Sie einen Benutzer in PostgreSQL Verwendung von PgAdmin

So erstellen Sie PostgreSQL Benutzer in PgAdmin

Nachfolgend finden Sie eine Schritt-für-Schritt-Anleitung zum Erstellen von Benutzern in PostgreSQL PgAdmin:

Schritt 1) Klicken Sie mit der rechten Maustaste auf Anmelden

Klicken Sie im ersten Schritt mit der rechten Maustaste auf Anmeldegruppenrolle -> Erstellen -> Klicken Sie auf Anmeldegruppenrolle…

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 2) Erstellen Sie eine Anmelde-/Gruppenrolle

Geben Sie nun den Namen für das Login ein

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 3) Klicken Sie auf „Definition“ und geben Sie die Details ein.

  1. Passwort eingeben
  2. Ein Ablaufdatum für das Konto

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 4) Der Abschnitt „Privilegien“.

  1. TogglKlicken Sie auf die Schaltfläche „Anmelden möglich“ auf „JA“.
  2. Toggle Superuser auf JA

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 5) Das SQL Abschnitt

  1. Sie sehen die SQL-Abfrage zum Erstellen eines Benutzers gemäß den in den vorherigen Schritten getroffenen Auswahlen
  2. Klicken Sie auf die Schaltfläche Speichern

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 6) Rolle wird erstellt

Jetzt wird die Rolle im Objektbaum widergespiegelt.

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 7) Erstellen Sie Datenbank

Weisen Sie ihm nun den Besitzer myguru zu, wie im folgenden Beispiel zum Erstellen eines Postgres-Benutzers gezeigt.

Erschaffung PostgreSQL Benutzer in PgAdmin

Schritt 8) Die Befehlszeile

Jetzt können Sie sehen, dass der Besitzer Myguru ist.

Erschaffung PostgreSQL Benutzer in PgAdmin

PostgreSQL Erstellen Sie eine Benutzer-SQLShell (Befehlszeile)

Sie können einen Benutzer erstellen, indem Sie den Befehlszeilenbefehl verwenden

BENUTZER ERSTELLEN

Diese Postgres-Methode zum Erstellen eines Benutzers mit Passwort ist für Programmierer und Administratoren praktischer, da sie Zugriff auf die Konsole von haben PostgreSQL Server. Darüber hinaus müssen sie Postgres-Benutzer mit einem einzigen Befehl erstellen und ausführen, anstatt sich anzumelden und die Benutzeroberfläche zu verwenden PostgreSQL Kunden.

Syntax:

CREATE USER name [ WITH ] option [ ... ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

Ejemplo:

CREATE USER tom;

wird einen Benutzer Tom erstellen

CREATE USER tom WITH SUPERUSER;

Es wird ein Benutzer namens „tom“ mit Superuser-Rechten erstellt. Schauen wir uns das folgende Beispiel an.

Schritt 1) Wir erstellen einen Superuser, der bis 3 gültig istrd April 2025, 11:50:38 IST. Geben Sie folgenden Befehl ein.

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30'
	PASSWORD '123456';

Erstellen Sie eine Benutzer-SQLShell

Schritt 2) Geben Sie den Befehl \du in die Checkliste der Benutzer ein

Erstellen Sie eine Benutzer-SQLShell

Anmerkungen: Der Befehl CREATE USER entspricht dem Befehl CREATE ROLE. Der Unterschied zwischen den beiden Befehlen besteht darin, dass der PostgreSQL-Befehl CREATE USER standardmäßig den Status LOGIN annimmt, während bei Verwendung der Option CREATE ROLE der Status NOLOGIN angenommen wird.

Fügen Sie einen vorhandenen Benutzer zu einer Datenbank hinzu

Sie können einem Benutzer Berechtigungen für den Zugriff auf eine Datenbank erteilen.

Beispiel: Wir gewähren dem Benutzer „mytest“ alle Berechtigungen für den Benutzer guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Fügen Sie einen vorhandenen Benutzer zu einer Datenbank hinzu

Nach der Ausführung des PostgreSQL Wenn Sie den Befehl „Benutzer hinzufügen“ hinzufügen, kann der Benutzer mit den angegebenen Berechtigungen auf die Datenbank zugreifen.

Der Befehl GRANT ist sehr mächtig. Sie können einem Benutzer detaillierte Berechtigungen wie „Auswählen“, „Einfügen“ und „Aktualisieren“ erteilen.

PostgreSQL BENUTZER wird aktualisiert

Vorhandene Benutzerberechtigungen ändern

Da nun unser neuer Benutzer „mytest“ existiert, können Sie mit ALTER USER die dem Bibliothekar erteilten Berechtigungen ändern.

Das Format von ALTER USER Postgres enthält den Namen des Benutzers, gefolgt von einigen Optionen zur Angabe PostgreSQL Welche zulässigen Änderungen sind vorzunehmen:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

RevBerechtigungen akzeptieren

Sie müssen diesen Befehl verwenden, wenn Sie einen Fehler machen und fälschlicherweise eine Berechtigung erteilen, die Sie möglicherweise widerrufen möchten. Sie können den Befehl ALTER USER ohne Präfix vor den permissiven Optionen verwenden.

Zum Beispiel können wir den SUPERUSER-Status aus mytest entfernen, wie folgt:

ALTER USER mytest WITH NOSUPERUSER;

Wenn Sie \du verwenden, werden Sie feststellen, dass die Superuser-Berechtigung entfernt wird.

RevBerechtigungen akzeptieren

Berechtigung zuweisen

Sie können die SUPERUSER-Berechtigung des Benutzers „mytest“ mit dem folgenden Befehl zurückerlangen.

ALTER USER mytest WITH SUPERUSER;

Wenn Sie \du verwenden, werden Sie feststellen, dass die Superuser-Berechtigung hinzugefügt wird.

Berechtigung zuweisen

PostgreSQL Benutzer löschen

Sie können „Beliebigen Benutzer löschen“ verwenden, wenn Sie sicher sind, dass der bestimmte Benutzer nicht mehr für Ihre Datenbank vorhanden ist. Beachten Sie, dass das Löschen der Benutzer niemals Auswirkungen auf die eigentliche Datenbank hat.

Syntax: DROP USER [user]

Um einen Benutzer zu löschen, müssen Sie sicherstellen, dass der Benutzer Eigentümer der Datenbank ist. Andernfalls erhalten Sie möglicherweise eine Fehlermeldung.

ERROR:  role "username" cannot be dropped because some objects depend on it

Ejemplo:

  1. Das Konto „myguru“ ist Eigentümer der Datenbank „demoDB“.
  2. Geben Sie den Befehl DROP USER myguru ein
  3. Fehler wird angezeigt

PostgreSQL Benutzer löschen

Sobald wir den Datenbankeigentümer ändern, kann der Benutzer gelöscht werden

PostgreSQL Benutzer löschen

Spickzettel

Hier sind wichtige Befehle

Befehle Beschreibung
CREATE USER [user]
Befehl zum Erstellen eines Benutzers
ALTER USER role_specification
Vorhandene Benutzerberechtigungen ändern
ALTER USER [user]
RevBerechtigungen akzeptieren
ALTER USER [user name] WITH SUPERUSER
Berechtigung zuweisen
DROP USER [user]
Befehl zum Löschen eines Benutzers

Häufig gestellte Fragen

Führen Sie in der psql-Shell den Befehl `\du` aus, um alle Rollen und ihre Attribute aufzulisten. Alternativ können Sie den Systemkatalog mit `SELECT rolname FROM pg_roles` abfragen, um dieselben Informationen programmatisch zu erhalten.

Verwenden Sie ALTER USER, beispielsweise ALTER USER mytest WITH PASSWORD 'neuesPasswort'. Die Änderung wird sofort wirksam. Passwörter werden verschlüsselt gespeichert und können nur von Administratoren oder dem Benutzer selbst geändert werden.

In PostgreSQLBenutzer und Rollen sind dasselbe Objekt. CREATE USER erstellt eine Rolle, die sich standardmäßig anmelden kann, während CREATE ROLE eine Rolle erstellt, die sich nur anmelden kann, wenn Sie das Attribut LOGIN hinzufügen.

KI kann aus einer einfachen Beschreibung der benötigten Zugriffsrechte CREATE USER-, GRANT- und ALTER USER-Anweisungen generieren und die einzelnen Berechtigungen erläutern. Dies hilft Ihnen, das Prinzip der minimalen Berechtigungen anzuwenden, ohne die Syntax auswendig lernen zu müssen.

Ja. KI kann detaillierte GRANT-Befehle vorschlagen, die nur die erforderlichen Berechtigungen erteilen, vor der Gewährung umfassender Superuser-Zugriffe warnen und die Verwendung von Rollen zur Gruppierung von Berechtigungen für eine einfachere und sicherere Verwaltung empfehlen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: