Voraussetzungen
- PostgreSQL ist auf deinem System installiert.
- Zugriff auf das Kommandozeilentool psql.
- Grundkenntnisse in SQL und PostgreSQL.
Mit der Datenbank verbinden
Zuerst musst du dich mit deiner PostgreSQL-Datenbank verbinden. Dazu führst du den Befehl psql gefolgt vom Namen deiner Datenbank aus:
psql -d your_database_name
Wenn dein PostgreSQL-Server Benutzername und Passwort verlangt, kannst du den Benutzernamen so angeben:
psql -U your_username -d your_database_name
Nachdem du dein Passwort eingegeben hast, solltest du mit deiner Datenbank verbunden sein.
Den Befehl \dt verwenden
Am schnellsten listest du alle Tabellen deiner aktuellen Datenbank mit dem Befehl \dt auf:
\dt
Erwartete Ausgabe:
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+---------
public | my_first_table | table | postgres
public | my_second_table | table | postgres
public | another_table | table | postgres
(3 rows)
Wenn du mehr Informationen über deine Tabellen sehen willst, kannst du auch Folgendes verwenden:
\dt+
Dieser Befehl zeigt alle Tabellen im Schema public. Wenn du Tabellen in allen Schemas auflisten willst, verwende:
\dt *.*
Das Information Schema abfragen
Alternativ kannst du die View information_schema.tables direkt abfragen. Das ist besonders praktisch, wenn du mehr Kontrolle über die Ausgabe haben willst:
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema');
Erwartete Ausgabe:
table_schema | table_name
--------------+------------------
public | my_first_table
public | my_second_table
public | another_table
(3 rows)
Diese Abfrage listet alle Tabellen in allen Schemas auf, außer den System-Schemas.
Die View pg_tables verwenden
Du kannst Tabellen auch über den Systemkatalog pg_tables auflisten:
SELECT schemaname, tablename
FROM pg_tables
WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';
Erwartete Ausgabe:
schemaname | tablename
------------+-----------------
public | my_first_table
public | my_second_table
public | another_table
(3 rows)
Diese Methode ähnelt stark der Abfrage von information_schema.tables, greift aber direkt auf den internen Katalog von PostgreSQL zu.
Tabellen nach Schema filtern
Wenn du Tabellen aus einem bestimmten Schema auflisten willst, kannst du die vorherigen Abfragen so anpassen, dass sie nach der Spalte table_schema bzw. schemaname filtern:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'your_schema_name' AND table_type = 'BASE TABLE';
Oder mit pg_tables:
SELECT tablename
FROM pg_tables
WHERE schemaname = 'your_schema_name';
Fazit
Tabellen in PostgreSQL mit psql aufzulisten ist ganz einfach, und je nach Bedarf stehen dir mehrere Methoden zur Verfügung. Der Befehl \dt ist am schnellsten, während Abfragen auf information_schema oder pg_tables mehr Kontrolle und Flexibilität bieten. Nutze die Methoden, die am besten zu deinem Workflow passen.
Weitere Artikel, die dir gefallen könnten:
Beekeeper Studio ist eine kostenlose & quelloffene Datenbank-GUI
Das beste SQL-Abfrage- & Editor-Tool, das ich je benutzt habe. Es bietet alles, was ich zum Verwalten meiner Datenbank brauche. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio ist schnell, intuitiv und einfach zu bedienen. Beekeeper unterstützt jede Menge Datenbanken und läuft hervorragend auf Windows, Mac und Linux.
Was Nutzer über Beekeeper Studio sagen
„Beekeeper Studio hat meinen alten SQL-Workflow komplett ersetzt. Es ist schnell, intuitiv und macht die Arbeit mit Datenbanken wieder zum Vergnügen.“
„Ich habe viele Datenbank-GUIs ausprobiert, aber Beekeeper trifft genau die richtige Balance zwischen Funktionsumfang und Einfachheit. Es funktioniert einfach.“