auf Bei der Verwaltung von PostgreSQL-Datenbankservern besteht eine der häufigsten Aufgaben, die Sie wahrscheinlich ausführen, darin, die Datenbanken und ihre Tabellen aufzulisten.

PostgreSQL wird mit einem interaktiven Tool namens psql geliefert, mit dem Sie eine Verbindung zum Server herstellen und Abfragen ausführen können. Bei Verwendung von psql können Sie auch die Meta-Befehle nutzen. Diese Befehle sind nützlich für die Skripterstellung und Befehlszeilenverwaltung., Alle Meta-Befehle beginnen mit einem unquoted Backslash und werden auch als Backslash-Befehle bezeichnet.

Dieses Tutorial erklärt, wie Sie Datenbanken und Tabellen auf einem PostgreSQL-Server mit psqlanzeigen.

Listing Databases #

Sie können eine Verbindung zum PostgreSQL-Server herstellen, indem Sie den Befehl psql als Systembenutzer verwenden. Abhängig von der Serverkonfiguration muss der Benutzer möglicherweise sein Kennwort eingeben, um eine Verbindung zum Terminal psql herzustellen., Um als aktuell angemeldeter Benutzer auf das Terminal psql zuzugreifen, geben Sie einfach psqlein.

Wenn das PostgreSQL-Paket installiert ist, wird ein administrativer Benutzer namens „postgres“ erstellt. Standardmäßig kann dieser Benutzer ohne Kennwort eine Verbindung zum lokalen PostgreSQL-Server herstellen.

Um auf das psql Terminal als Benutzer „postgres“ zuzugreifen, führen Sie Folgendes aus:

sudo -u postgres psql
Mit dem Befehl sudo können Sie Befehle als einen anderen Benutzer ausführen.,

Führen Sie im PSQL-Terminal \l oder \list Meta-Befehl aus, um alle Datenbanken aufzulisten:

\l

Die Ausgabe enthält die Anzahl der Datenbanken, den Namen jeder Datenbank, ihren Besitzer, die Codierung und die Zugriffsrechte:

PostgreSQL Server verfügt standardmäßig über drei Datenbanken: template0, template1 und Postgres. Die ersten beiden sind Vorlagen, die beim Erstellen neuer Datenbanken verwendet werden.,

Wenn Sie Informationen über die Größe der Datenbanken, Standardtabellenbereiche und Beschreibungen erhalten möchten, verwenden Sie \l+ oder \list+. Die Datenbankgröße wird nur angezeigt, wenn der aktuelle Benutzer eine Verbindung herstellen kann., verwenden Sie von allen Datenbanken, ohne auf die PSQL-Shell zuzugreifen, den Schalter -c wie unten gezeigt:

sudo -u postgres psql -c "\l"

Eine andere Möglichkeit, die Datenbanken aufzulisten, besteht darin, die folgende SQL-Anweisung zu verwenden:

SELECT datname FROM pg_database;

Im Gegensatz zu \l oben werden nur die Namen der Datenbanken angezeigt:

Listing Tables #

Um alle Tabellen einer bestimmten Datenbank aufzulisten, müssen Sie zuerst eine Verbindung herstellen \c oder \connect Meta-Befehl., Der Benutzer, bei dem Sie am PSQL-Terminal angemeldet sind, muss eine Verbindung zur Datenbank herstellen können.,

Um beispielsweise eine Verbindung zur Datenbank mit dem Namen „odoo“ herzustellen, geben Sie Folgendes ein:

\c odoo

Sobald die Datenbank gewechselt ist, verwenden Sie den Meta-Befehl \dt, um alle Datenbanktabellen aufzulisten:

Die Ausgabe enthält die Anzahl der Tabellen, den Namen jeder Tabelle und ihr Schema, Typ und Eigentümer:

Wenn die Datenbank leer ist, sieht die Ausgabe folgendermaßen aus:

No relations found.

Um Informationen über die Größe der Tabellen abzurufen, und um \dt+zu verwenden.,

Schlussfolgerung #

Sie haben gelernt, PostgreSQL-Datenbanken und-Tabellen mit dem Befehl psql aufzulisten.