Was ist das Äquivalent zu show tables
(von MySQL) in PostgreSQL?
Über die Befehlszeilenschnittstelle psql
,
Wählen Sie zunächst Ihre Datenbank
\c database_name
Dann werden alle Tabellen im aktuellen Schema angezeigt:
\dt
Programmatisch (oder natürlich auch über die psql
-Schnittstelle):
SELECT * FROM pg_catalog.pg_tables;
Die Systemtabellen befinden sich in der Datenbank pg_catalog
.
Melden Sie sich als Superuser an:
sudo -u postgres psql
Sie können alle Datenbanken und Benutzer mit dem Befehl \l
auflisten (andere Befehle mit \?
auflisten).
Wenn Sie nun andere Datenbanken sehen wollen, können Sie den Benutzer/die Datenbank mit dem Befehl \c
ändern, z.B. \c template1
, \c postgres postgres
und \d
, \dt
oder \dS
verwenden, um Tabellen/Views/etc. zu sehen.
(Der Vollständigkeit halber)
Sie könnten auch das (SQL-Standard-) Informationsschema abfragen:
SELECT
table_schema || '.' || table_name
FROM
information_schema.tables
WHERE
table_type = 'BASE TABLE'
AND
table_schema NOT IN ('pg_catalog', 'information_schema');