PostgreSQL, auch bekannt als Postgres, ist ein objektrelationales Open-Source-Datenbanksystem, mit dem du komplexe Datenmengen sicher speichern und skalieren kannst. Es nutzt und erweitert SQL, die Sprache, mit der Benutzer auf Datenbanken zugreifen können.

Um einen Postgres-Datenbankserver effektiv zu verwalten, musst du mit deiner Umgebung und dem, was der Server speichert, vertraut sein. Manchmal musst du die Datenbanken, die auf deinem Server laufen, auflisten, Informationen über sie abrufen und dich mit ihnen verbinden. Diese Aufgaben kannst du mit der PostgreSQL-Oberfläche oder einem grafischen Tool wie Adminer erledigen, um diese Informationen einfach anzuzeigen und zu bearbeiten.

Wenn deine Datenbank nur eine von mehreren auf dem Postgres-Server ist, musst du die Liste eventuell filtern, um sie zu finden. Dann brauchst du oft einen Überblick über die Daten, die sie enthält, und brauchst eine Liste der Tabellen. Diese praktische Anleitung zeigt dir, wie du Datenbanken und Tabellen in Postgres auflisten kannst.

Voraussetzungen

Um diesem Leitfaden folgen zu können, musst du folgende Voraussetzungen erfüllen:

  • Ein Postgres-Datenbankserver mit einer oder mehreren installierten Datenbanken.
  • Superuser-Zugangsdaten für ein Konto auf dem Datenbankserver.
  • Vertrautheit mit grundlegenden SQL-Befehlen, wie SELECT Anweisungen und WHERE Klauseln.

Außerdem musst du einige Datenbanken und Tabellen zur Verfügung haben.

So stellst du eine Verbindung zum PostgreSQL-Datenbankserver her

Um dich mit einem PostgreSQL-Datenbankserver zu verbinden, musst du über die SQL-Shell, die nach der Installation auf deinem Desktop verfügbar ist, auf seine spezielle SQL-Version, psql genannt, zugreifen.

Mit psql und der SQL Shell kannst du deine Datenbankumgebung verwalten. Während die meisten SQL-Befehle Daten und Tabellen manipulieren, übernehmen die psql-Meta-Befehle Aufgaben der Datenbankverwaltung. So kannst du zum Beispiel mit Meta-Befehlen Datenbanken erstellen oder löschen und mit SQL-Befehlen Tabellen hinzufügen oder Daten abrufen.

Psql-Meta-Befehle unterscheiden sich durch einen Backslash (\) als Präfix, wobei viele von ihnen kürzere Versionen haben. Zum Beispiel erfüllen \help und \h die gleiche Funktion.

Um SQL-Anweisungen und Meta-Befehle auszuführen, melde dich über die SQL Shell bei deinem Server an. Du wirst aufgefordert, deine Daten einzugeben:

  • Den Namen der Zieldatenbank
  • Deinen Benutzernamen
  • Dein Passwort

Nachdem du deine Informationen eingegeben hast, erscheint eine Eingabeaufforderung, in der du SQL-Befehle und Meta-Befehle eingeben kannst:

Eine erfolgreiche Anmeldung in psql
Eine erfolgreiche Anmeldung in psql

Sobald du eine Verbindung hergestellt hast, kannst du:

  • Verfügbare Datenbanken auflisten
  • Dich mit einer bestimmten Datenbank verbinden
  • Die Datenbankliste filtern
  • Zwischen Datenbanken wechseln
  • Tabellen innerhalb einer Datenbank auflisten.

Wie man Datenbanken anzeigt

Auf deinem Postgres-Server ist es üblich, mehrere Datenbanken zu verwalten. Jede Datenbank befindet sich in einem eigenen Verzeichnis, das separat auf dem Server gespeichert ist.

Um deinen Datenbankserver effektiv zu verwalten, musst du eventuell bestimmte Informationen abrufen, z. B. eine Liste der Datenbanken des Servers und ihrer relevanten Details. Um die Datenbanken deines Postgres-Servers mit psql aufzulisten, melde dich in der SQL Shell bei deiner Postgres-Umgebung an.

Sobald du eingeloggt bist, gibst du den Meta-Befehl \list in die Befehlszeile ein. Daraufhin zeigt die SQL Shell eine Übersicht über die in der Umgebung vorhandenen Datenbanken an, wie in der folgenden Abbildung dargestellt:

Eine Liste der Datenbanken in psql
Eine Liste der Datenbanken in psql

Für einen schnelleren Befehl kannst du die abgekürzte Form \l verwenden, die die gleiche umfassende Datenbankliste liefert.

Filtern von Datenbanken in einer Postgres-Umgebung

Wenn du dich in einer Umgebung mit zahlreichen Datenbanken bewegst, ist es wichtig, eine bestimmte Datenbank zu finden. Die SQL Shell ermöglicht es dir, dies zu erreichen, indem du die Datenbankmerkmale in deinen Befehl einbaust.

In Postgres-Umgebungen werden die Datenbankinformationen in der Tabelle pg_database gespeichert. Wenn du zum Beispiel Datenbanken abrufen und filtern möchtest, die den Begriff „Test“ enthalten, führe die folgende Abfrage aus:

SELECT * FROM pg_database WHERE datname = 'test_data';

SQL Shell listet dann die Datenbanken auf, die deinen Kriterien entsprechen:

Eine Liste von Datenbanken, deren Namen die Zeichenfolge test enthalten
Eine Liste von Datenbanken, deren Namen die Zeichenfolge „test“ enthalten

Da diese Methode, Datenbanken aufzulisten und die Ergebnisse zu filtern, auf SQL basiert, kannst du komplexe Abfragen erstellen, um gefilterte Listen von Datenbanken zu erstellen. Dazu musst du allerdings mit SQL und den Postgres-Metadaten vertraut sein.

Wie man sich mit Datenbanken verbindet und zwischen ihnen wechselt

Wenn du mit SQL Shell und PSQL durch Datenbanken navigierst, ist das Herstellen einer Verbindung oder das Wechseln zwischen Datenbanken ein unkomplizierter Prozess, vorausgesetzt, du kennst den Namen der Zieldatenbank.

Um eine Verbindung zu einer Datenbank herzustellen oder zu ihr zu wechseln, melde dich in der SQL Shell bei deiner Postgres-Umgebung an.

Gib dann in der Befehlszeile den Meta-Befehl \connect ein, gefolgt von dem Namen der Zieldatenbank. Um zum Beispiel eine Verbindung zu einer Datenbank mit dem Namen test_data herzustellen, gibst du den Befehl \connect test_data ein.

SQL Shell zeigt nach der Verbindung mit der Datenbank die folgende Meldung an:

Erfolgreiche Verbindung zur Datenbank test_data
Erfolgreiche Verbindung mit der Datenbank test_data

Alternativ kannst du auch den Kurzbefehl \c verwenden, um das gleiche Ergebnis zu erzielen.

So listest du Datenbanktabellen auf

Sobald du eine Verbindung zu einer Datenbank hergestellt hast, kannst du die darin enthaltenen Tabellen auflisten. Gib dazu den Befehl \dt ein.

SQL Shell listet alle Tabellen in der Datenbank auf:

Eine Liste der Tabellen in der aktuellen Datenbank
Eine Liste der Tabellen in der aktuellen Datenbank

Zugriff auf Datenbanken und Tabellen mit Adminer

Die SQL-Shell ist nur ein Werkzeug zur Verwaltung deiner Postgres-Datenbanken. Ein weiteres Tool ist Adminer, das eine einfache grafische Benutzeroberfläche (GUI) zur Verwaltung deines Datenbankservers bietet. Außerdem funktioniert Adminer in jeder Umgebung, in der du PHP installiert hast.

Du kannst Adminer auch unabhängig davon installieren und ausführen, aber es ist auch eine von vielen Funktionen der DevKinsta-Suite.

Wenn du Adminer installiert hast, starte es und gib die Anmeldedaten für deine Postgres-Umgebung ein:

Die Adminer Login-Seite
Die Adminer Login-Seite

Mit Adminer kannst du eine Liste der Datenbanken in deiner Postgres-Umgebung abrufen. Wenn du dich bei deinem Datenbankserver anmeldest, wird eine Liste der Datenbanken angezeigt:

Adminer, der eine Liste aller Datenbanken anzeigt
Eine Liste aller Datenbanken in Adminer

Um dich mit der gewünschten Datenbank zu verbinden, wählst du sie in der Liste aus. Adminer zeigt dann eine Liste der Tabellen, Ansichten, Routinen, Sequenzen und Benutzertypen für die ausgewählte Datenbank an.

Die Informationen für die Datenbank test_data
Die Informationen für die Datenbank test_data

Alternativ kannst du eine Datenbank aus der DB-Dropdown-Liste links auf der Seite auswählen:

Dropdown mit den verfügbaren Datenbanken
Dropdown mit den verfügbaren Datenbanken

Zusammenfassung

Um die Datenbanken in deiner Postgres-Umgebung erfolgreich zu verwalten, musst du in der Lage sein, die enthaltenen Daten mit minimalem Aufwand anzuzeigen, zu filtern und mit ihnen zu interagieren. Vielleicht entscheidest du dich für die SQL-Shell-Befehlszeile, aber die Einfachheit eines GUI-Tools wie Adminer passt vielleicht besser in deinen Workflow.

Für WordPress-Entwicklerinnen und -Entwickler ist DevKinsta ein mächtiger Verbündeter, denn es bietet neben dem Adminer eine Reihe weiterer Tools, die die Datenbankverwaltung vereinfachen. Um deine Postgres-Datenbanken einfach zu verwalten, solltest du DevKinsta ausprobieren – es ist immer kostenlos!

Jeremy Holcombe Kinsta

Content & Marketing Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems ;).