In MySQL/MariaDB bist du es gewohnt, mit
Benutzern zu arbeiten (
CREATE USER, GRANT ...).
PostgreSQL geht einen Schritt weiter: Es verwendet
Rollen (roles).
👉 Eine Rolle kann entweder:
- wie ein Benutzer agieren (login-fähig),
- oder wie eine Gruppe agieren (nur Rechte verwalten).
🔹 Rollen anzeigen
Nach der Installation existiert nur der Standard-User
postgres.
In
psql kannst du dir alle Rollen anzeigen lassen:
du
Beispielausgabe:
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
🔹 Neue Rolle erstellen
Login-fähiger Benutzer
CREATE ROLE hendrik LOGIN PASSWORD 'geheim';
👉 Damit hast du einen Benutzer hendrik, der sich anmelden kann.
Rolle ohne Login (Gruppe)
CREATE ROLE admins;
👉 Kann keine eigene Verbindung aufbauen, aber anderen Rollen zugewiesen werden.
🔹 Rechte vergeben
Rollen können Rechte bekommen, z. B.:
ALTER ROLE hendrik CREATEDB;
👉 Erlaubt der Rolle
hendrik, eigene Datenbanken zu erstellen.
🔹 Rolle Mitglied einer Gruppe machen
GRANT admins TO hendrik;
👉 Jetzt ist
hendrik Mitglied der Rolle
admins.
🔹 Benutzer wechseln
Aus der Linux-Shell:
psql -U hendrik -d postgres
👉
-U = Benutzer,
-d = Datenbank
🔹 Unterschiede zu MySQL/MariaDB
| Bereich |
MySQL/MariaDB |
PostgreSQL |
| Benutzer |
CREATE USER |
CREATE ROLE ... LOGIN |
| Gruppen |
nicht direkt unterstützt |
Rollen können Gruppen bilden |
| Rechte |
GRANT SELECT ON db.* TO user |
GRANT SELECT ON TABLE ... TO role |
| Adminrechte |
GRANT ALL PRIVILEGES |
SUPERUSER, CREATEDB, CREATEROLE |
👉 Postgres ist flexibler, weil Rollen sowohl Benutzer als auch Gruppen sein können.
🔹 Übungen
- Erstelle die Rolle
student mit Login und Passwort.
- Vergib das Recht
CREATEDB an student.
- Erstelle eine Gruppe
entwickler und füge student hinzu.
- Melde dich als
student an:
psql -U student -d postgres
- Bonus: Prüfe mit
du, ob student Mitglied von entwickler ist.
✅ Zusammenfassung
- PostgreSQL nutzt Rollen statt reiner Benutzer.
- Rollen können Login-fähig sein oder nur Rechte verwalten.
- Rechte und Gruppenmitgliedschaften sind sehr flexibel.
- Unterschied zu MySQL: Postgres erlaubt ein feineres Rollenmodell.
👉
Im nächsten Kapitel lernst du, wie man
Datenbanken & Tabellen erstellt – und worin sich PostgreSQL von MySQL unterscheidet.
📚 Inhaltsverzeichnis
👉
psql Kapitel 1: Installation & Anmeldung mit psql
👉
psql Kapitel 2: Benutzer & Rollen in PostgreSQL
👉
psql Kapitel 3: Datenbanken & Tabellen erstellen
👉
psql Kapitel 4: CRUD-Befehle (SELECT, INSERT, UPDATE, DELETE)
👉
psql Kapitel 5: Schlüssel & Constraints in PostgreSQL
👉
psql Kapitel 6: Indizes & Performance
👉
psql Kapitel 7: Erweiterungen & Spezialfunktionen
👉
psql Kapitel 8: Backups & Restore in PostgreSQL
⭐ Bonus-Kapitel
👉
psql Kapitel 9 (Bonus): Admin-Tipps & Best Practices für PostgreSQL