PostgreSQL Cheat Sheet

  • 19. Februar 2022

Wenn man eine PostgreSQL-Datenbank mit seiner Django-App benutzt, ist es manchmal nötig, direkt mit der Datenbank zu arbeiten. Damit ich nicht immer das Internet bemühen muss, habe ich mir einen Spickzettel (Cheat Sheet) mit den meistverwendeten Befehlen zusammengestellt.

Es ist natürlich möglich, eine grafische Benutzeroberfläche wie pgAdmin oder phpPgAdmin zu benutzen. Für die meisten Aufgaben benutze ich jedoch die Befehlszeile. Diese ist überall installiert und die Dinge sind schnell erledigt, ohne dass ich mir einen Kopf über die Verwendung des jeweiligen GUIs machen muss.

Login/Logout

Um mit einer PostgreSQL-Datenbank zu arbeiten muss ich mich zuerst mittels einer interaktiven PosgreSQL-Shell am Server anmelden. Das Tool dazu heisst psql (PostgreSQL interactive terminal).

Einloggen an einer interaktiven PSQL-Session

sudo -u postgres psql

Ausloggen von einer interaktiven PSQL-Session

\q

Den Überblick behalten

Sobald du am Server eingeloggt bist, gilt es zuerst den Überblick zu bekommen: Welche Datenbanken und Benutzer sind installiert, welche Datenbank hat welche Tabellen, etc.

Auflisten aller Datenbanken

Listet alle Datenbanken auf, die von diesem PostgreSQL-Server verwaltet werden.

\l
# oder
\list

Anmelden an einer Datenbank

Um mit einer Datenbank arbeiten zu können, z.B. um die Tabellen zu sehen, die Daten zu verändern, etc. musst du dich an der betreffenden Datenbank anmelden.

\connect meine_datenbank
# oder
\c meine_datenbank
# z.B.
\connect djangoblog_djangoblog
# oder
\c djangoblog_djangoblog

Du erhältst folgende Ausgabe:

You are now connected to database "djangoblog_djangoblog" as user "postgres".

Anzeigen aller Tabellen einer Datenbank

Um die Tabellen einer Datenbank zu sehen, musst du an ihr angemeldet sein. Die Tabellen zeigst du mit folgendem Befehl an:

\dt

Wechseln der Datenbank

Das Wechseln der Datenbank hat den gleichen Befehl, wie das Anmelden. Nämlich:

\connect meine_datenbank

oder:

\c meine_datenbank

Benutzerverwaltung

Anzeigen aller Benutzer/Rollen

Datenbankbenutzer heissen in PostgreSQL Rollen. Um eine Liste aller Benutzer des PosgreSQL-Servers anzuzeigen, gib folgenden Befehl ein:

\du

Erstellen eines Benutzers

Um einen Datenbankbenutzer, resp. eine Rolle zu erstellen, müssen wir folgenden Befehl absetzen:

CREATE USER mein_benutzer WITH PASSWORD 'passwort';

Passwort für einen Benutzer ändern

Manchmal muss das Passwort für einen Datenbankbenutzer geändert werden. Das erreichst du mit dem folgenden Befehl:

ALTER USER mein_benutzer WITH PASSWORD 'neues_passwort';

Einem Benutzer das Recht zuweisen, Datenbanken zu erstellen

Gib einem Benutzer das Recht, eine Datenbank zu erstellen:

ALTER USER myprojectuser CREATEDB;

Einem Benutzer alle Rechte an einer Datenbank zuweisen

Um einem Benutzer zu erlauben, Änderungen an einer Datenbank vorzunehmen, müssen wir ihm die benötigten Rechte zuweisen. Mit dem folgenden Befehl gibst du dem Benutzer alle Rechte über die Datenbank.

GRANT ALL PRIVILEGES ON DATABASE meine_datenbank TO mein_benutzer;

 

Das könnte dich auch interessieren