Postgres, auch bekannt als PostgreSQL, ist ein Eckpfeiler der objektrelationalen Datenbankverwaltung. Dank jahrzehntelanger Entwicklungsarbeit ist Postgres eine zuverlässige, flexible Datenbank mit hoher Leistung.

Dieser praktische Leitfaden zeigt dir, wie du in Postgres Datenbanken und Tabellen erstellst und Datenbanken löschst. Außerdem wird gezeigt, wie du die gleichen Aufgaben mit einem Datenbankverwaltungsprogramm wie Adminer erledigen kannst.

Erste Schritte mit Postgres

Stelle zunächst sicher, dass du Postgres auf deinem System installiert hast. Wenn das nicht der Fall ist, lade dir die notwendige Datei herunter und folge den Installationsanweisungen.

Denk daran, dass die hier gezeigten Befehle auf macOS demonstriert werden, aber sie funktionieren problemlos auf jedem Betriebssystem.

Sobald Postgres installiert ist, gibst du diesen Befehl in deinem Terminal ein, um zu überprüfen, ob alles reibungslos funktioniert:

postgres -V

Dieser Befehl sollte die Versionsnummer deiner Postgres-Installation zurückgeben:

Die Postgres-Versionsnummer
Die Postgres-Versionsnummer

Wie man sich mit dem PostgreSQL-Datenbankserver verbindet

Du hast also Postgres auf deinem System installiert und bist bereit, Datenbanken zu erstellen. Aber wie greifst du auf deine Datenbank zu? Hier kommt das interaktive Postgres-Terminal, auch psql genannt, ins Spiel. Psql ist ein terminalbasiertes Frontend für Postgres, mit dem du Abfragen an Postgres stellen und die Ergebnisse der Abfrage anzeigen kannst.

Während der Installation erstellt Postgres einen Standard-Superuser auf deinem Betriebssystem, der ultimativen Zugriff auf die Datenbank hat. Mit diesem Befehl kannst du dich am psql Terminal als Standard-Superuser anmelden:

psql postgres

Nachdem du diesen Befehl ausgeführt hast, solltest du sehen, dass dein Terminal auf postgres=# wechselt, was bedeutet, dass du als Standard-Superuser angemeldet bist.

Einer der größten Vorteile von psql sind die Meta-Befehle. Mit diesen leistungsstarken Werkzeugen kannst du Verwaltungsaufgaben für Datenbanken ausführen, wie z. B. eine Verbindung zu Datenbanken herstellen oder Tabellen anzeigen, ohne die genauen SQL-Befehle zu kennen.

Um einen Meta-Befehl in psql zu verwenden, beginnst du mit einem Backslash (\), gefolgt von dem Befehl. Hier sind ein paar Beispiele:

  • \c <database-name> – Verbindet dich mit einer bestimmten Datenbank.
  • \l – Listet alle Datenbanken auf dem Server auf.
  • \dt – Zeigt alle Tabellen in einer Datenbank an.

Wie man Postgres-Datenbanken anlegt

Wenn du mit Datenbanken arbeitest, ist es ratsam, dem Prinzip der geringsten Rechte zu folgen, indem du einen neuen Benutzer mit bestimmten Rechten anlegst. Der Einfachheit halber wollen wir in dieser Anleitung jedoch den Standard-Superuser verwenden, um Datenbanken zu erstellen und zu verwalten.

Führe zunächst den folgenden Meta-Befehl aus, um alle Benutzer auf deinem Postgres-Server aufzulisten:

\du

Wenn du keine neuen Benutzer hinzugefügt hast, solltest du nur den Standard-Superuser sehen:

Benutzer auf dem lokalen Postgres-Server
Benutzer auf dem lokalen Postgres-Server

Je nach Konfiguration deines Systems kann der Standard-Superuser entweder als Postgres-Benutzername oder als Benutzername deines Betriebssystems erscheinen.

In der Standardeinstellung hat der Superuser kein Passwort. Für die spätere Datenbankverwaltung kannst du jedoch mit diesem Befehl ein Passwort festlegen:

\password <superuser-name>

Gib dein Passwort ein, wenn du dazu aufgefordert wirst, und bestätige es. Jetzt kannst du damit beginnen, Datenbanken auf deinem Postgres-Server zu erstellen. Die Syntax zum Erstellen einer Datenbank lautet CREATE DATABASE <database-name>.

Beginnen wir mit der Erstellung einer Datenbank namens sales:

CREATE DATABASE sales;

Nach erfolgreicher Erstellung der Datenbank erscheint die folgende Meldung:

Erstellen einer Postgres-Datenbank.
Erstellen einer Postgres-Datenbank.

Erstelle nun zwei weitere Datenbanken, customers und employees, mit diesen Befehlen:

CREATE DATABASE customers;
CREATE DATABASE employees;

Jetzt hast du drei Datenbanken auf deinem lokalen Postgres-Server eingerichtet. Um alle Datenbanken aufzulisten, die du erstellt hast, verwende diesen Meta-Befehl:

\l
Datenbanken auf dem lokalen Postgres-Server.
Datenbanken auf dem lokalen Postgres-Server

Das sind die drei Datenbanken, die du bis jetzt erstellt hast! Die anderen Datenbanken im Bild kannst du ignorieren, sie werden standardmäßig mit der Postgres-Installation geliefert.

Jetzt kannst du dich mit einer bestimmten Datenbank verbinden. Der Meta-Befehl zum Verbinden mit einer beliebigen Datenbank lautet \c <database-name>.

Führe den folgenden Befehl aus, um dich mit der Datenbank sales zu verbinden:

\c sales

In deinem Terminal sollte die folgende Meldung erscheinen:

Verbindung zu einer Datenbank herstellen.
Verbindung zu einer Datenbank herstellen

Sobald du mit einer Datenbank verbunden bist, kannst du mit demselben Befehl ganz einfach zu einer anderen Datenbank auf dem Server wechseln. So kannst du von der Datenbank sales aus den folgenden Befehl ausführen, um dich mit der Datenbank customers zu verbinden:

\c customers

Tabellen erstellen

Zu Beginn musst du Tabellen erstellen, um deine Datenbank mit Daten zu füllen. Die Syntax zum Erstellen einer Tabelle in Postgres folgt dieser Struktur:

CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);

Verbinde dich zunächst mit der Datenbank sales.

\c sales

Als nächstes erstellst du die Tabelle products mit drei Spalten, die nicht null sein dürfen: product_id, product_name, und quantity_sold:

CREATE TABLE products(
   Product_id			INT     NOT NULL,
   Product_name		TEXT    NOT NULL,
   Quantity_sold		   INT     NOT NULL
);

Wenn der Vorgang erfolgreich war, solltest du die folgende Ausgabe sehen:

Tabellen in einer Datenbank erstellen.
Tabellen in einer Datenbank erstellen

Als Nächstes kannst du mit dem folgenden Meta-Befehl überprüfen, ob du die Tabelle products erfolgreich erstellt hast:

\dt

Dieser Befehl listet alle Tabellen in deiner Datenbank auf – in diesem Fall eine Tabelle. Da du mit der Datenbank sales verbunden bist, solltest du die folgende Ausgabe sehen:

Tabellen in der Verkaufsdatenbank.
Tabellen in der Verkaufsdatenbank

Als nächstes erstellst du zwei Tabellen in der Datenbank employees. Die erste Tabelle listet die Gehälter auf und die zweite die Adressen. Um diese Tabellen zu erstellen, führe die folgenden Befehle aus:

\c employees

CREATE TABLE salary(
   Employee_id		INT     NOT NULL,
   Employee_name		TEXT    NOT NULL,
   Employee_salary		INT     NOT NULL
);

CREATE TABLE address(
   Employee_id		INT     NOT NULL,
   Employee_country		TEXT    NOT NULL,
   Employee_zipcode		INT     NOT NULL
);

Bestätige abschließend, dass du diese Tabellen erstellt hast, indem du den Meta-Befehl \dt ausführst. Das ist die Ausgabe, die du sehen solltest:

Tabellen in der Mitarbeiterdatenbank.
Tabellen in der Mitarbeiterdatenbank

Wie man Postgres Datenbanken löscht

Das Löschen einer Datenbank ist genauso einfach wie das Erstellen einer Datenbank. Die Syntax zum Löschen einer Datenbank lautet DROP DATABASE <database-name>;.

Du musst dich nicht mit einer bestimmten Datenbank verbinden, um sie zu löschen. Wenn du also die Datenbank customers löschen willst, kannst du diesen Befehl von jeder Datenbank aus ausführen, mit der du verbunden bist:

DROP DATABASE customers;

Nach erfolgreicher Löschung solltest du diesen Bildschirm sehen:

Löschen einer Postgres-Datenbank.
Löschen einer Postgres-Datenbank.

Du kannst bestätigen, dass die Datenbank customers nicht mehr existiert, indem du die Datenbanken auf deinem lokalen Postgres-Server mit dem Meta-Befehl \l auflistest.

Auflistung der Datenbanken auf dem lokalen Postgres-Server.
Auflistung der Datenbanken auf dem lokalen Postgres-Server

Handhabung von Postgres-Datenbankoperationen mit Adminer

Bis jetzt hast du die Grundlagen von Postgres kennengelernt, indem du über die Kommandozeile Datenbanken erstellt, Tabellen angelegt und Datenbanken gelöscht hast.

Die Kommandozeile kann jedoch einschüchternd oder mühsam sein. Hier kann ein Datenbankverwaltungstool wie Adminer helfen. Mit Adminer kannst du alle oben genannten Datenbankoperationen über eine grafische Benutzeroberfläche durchführen. Obwohl du Adminer auch unabhängig davon verwenden kannst, ist er eine Standardkomponente von DevKinsta.

Um deine Datenbank mit Adminer zu verwalten, musst du außerdem die Adminer PHP-Datei herunterladen. Öffne einmal dein Terminal, um den integrierten Webserver zu starten, der PHP-Dateien ausführt, und navigiere zu dem Ort, an dem du die Adminer PHP-Datei abgelegt hast:

cd path/to/Adminer php file 

Starte dann den Webserver mit dem folgenden Befehl:

php -S 127.0.0.1:8000

Jetzt kannst du die Adminer-Benutzeroberfläche in deinem Webbrowser verwenden. Gib die folgende Adresse in deinen Webbrowser ein: http://localhost:8000/<Deine-Adminer-php-Datei.php>

Du solltest die Adminer-Benutzeroberfläche (UI) in deinem Webbrowser sehen:

Adminer-Startseite UI.
Adminer-Startseite UI

Um deinen lokalen Postgres-Server einzugeben, befolge die folgenden Anweisungen, während du die Felder auf dieser Seite ausfüllst:

  1. Wähle PostgreSQL für das Feld System.
  2. Der Server sollte auf localhost voreingestellt sein.
  3. Gib bei Benutzername den Namen des Superusers ein, entweder „postgres“ oder den Benutzernamen des Betriebssystems deines Computers.
  4. Als Passwort gibst du das Passwort ein, das du für den Superuser im Abschnitt „Datenbanken erstellen“ festgelegt hast.
  5. Lass das Feld Datenbank leer.

Nach erfolgreicher Authentifizierung siehst du die Liste aller Datenbanken, die du zuvor erstellt hast, wie unten abgebildet. Wenn du mit Windows arbeitest, kann die folgende Fehlermeldung auftreten: „Keine der unterstützten PHP-Erweiterungen (PgSQL, PDO_PgSQL) ist verfügbar.“ Wenn dies der Fall ist, bearbeite die Datei php.ini und aktiviere diese Erweiterungen.

Anzeigen von Postgres-Datenbanken auf dem Adminer.
Anzeigen von Postgres-Datenbanken auf dem Adminer

Um eine neue Datenbank zu erstellen, klicke auf den Hyperlink Datenbank erstellen:

Erstellen einer neuen Datenbank mit Adminer.
Erstellen einer neuen Datenbank mit Adminer

Benenne deine Datenbank customers und klicke auf die Schaltfläche Speichern.

Überprüfe dann, ob du die Datenbank customers erstellt hast, indem du auf den Hyperlink Server klickst, wie unten gezeigt:

Navigieren zum lokalen Postgres-Server.
Navigieren zum lokalen Postgres-Server

Du siehst jetzt die Datenbank customers. Klicke auf die customers, um dich mit ihr zu verbinden.

Wie du sehen kannst, gibt es keine Tabellen in dieser Datenbank. Klicke auf den Hyperlink Tabelle erstellen, um eine neue Tabelle mit dem Namen locations zu erstellen.

Erstellen einer Tabelle in einer Datenbank mit Adminer.
Erstellen einer Tabelle in einer Datenbank mit Adminer

Fülle die entsprechenden Spalten so aus, dass sie dem Bild unten entsprechen, und klicke auf die Schaltfläche Speichern:

Der letzte Schritt zur Erstellung einer Tabelle in einer Datenbank.
Der letzte Schritt zur Erstellung einer Tabelle in einer Datenbank

Du solltest jetzt die Tabelle in deiner customers Datenbank sehen können:

Bestätigungsmeldung für die Erstellung einer Tabelle.
Bestätigungsmeldung für die Erstellung einer Tabelle

Klicke erneut auf den Hyperlink Server, um alle deine Datenbanken zu sehen. Aktiviere das Kontrollkästchen bei Kunden. Wenn du die Datenbank customers anklickst, wird die Schaltfläche Löschen darunter aktiviert. Klicke auf Löschen, um die Datenbank zu löschen. Du erhältst eine Bestätigung, dass du die Datenbank gelöscht hast:

Bestätigungsnachricht beim Löschen einer Datenbank.
Bestätigungsnachricht beim Löschen einer Datenbank

Zusammenfassung

Du hast jetzt gelernt, wie du auf deinem lokalen Postgres-Server über die Kommandozeile Datenbanken anlegen, Tabellen in deiner Datenbank erstellen und Datenbanken löschen kannst. Außerdem hast du gelernt, wie einfach du diese Aufgaben mit einem Datenbankverwaltungsprogramm wie Adminer durchführen kannst.

Obwohl diese und andere Methoden der Datenbank- und Tabellenverwaltung über die Befehlszeile funktionieren, macht die Benutzeroberfläche von Adminer die Durchführung dieser Aufgaben noch reibungsloser.

Als WordPress-Entwickler hast du mit DevKinsta Zugang zu Adminer und einer Vielzahl anderer Tools, die dir bei der Verwaltung deiner Datenbanken helfen. Um deine Postgres-Datenbanken einfach zu verwalten, solltest du DevKinsta ausprobieren – es ist auf unbegrenzte Zeit kostenlos!

Jeremy Holcombe Kinsta

Content & Marketing Editor bei Kinsta, WordPress Web Developer und Content Writer. Außerhalb von WordPress genieße ich den Strand, Golf und Filme. Außerdem habe ich Probleme mit großen Menschen ;).