Wie liste ich alle Ansichten für eine Datenbank mit einem SQL-Befehl in PostgreSQL auf?
Ich möchte etwas Ähnliches wie die Ausgabe des \dv
Befehls psql , aber vorzugsweise nur eine Liste von Ansichtsnamen. z.B,
SELECT ...;
my_view_1
my_view_2
my_view_3
Ich verwende PostgreSQL v9.1.4 unter Ubuntu Linux.
postgresql
view
postgresql-9.1
Rob Bednark
quelle
quelle
Antworten:
Aus der Dokumentation :
Wenn Sie nicht möchten, dass die Systemansichten Ihr Ergebnis sind, versuchen Sie Folgendes:
quelle
where table_schema='USERNAME'
public
Schema.Sie können
pg_catalog.pg_views
Ihre gewünschten Informationen abfragen :Die Abfrage wurde verfeinert, um auch den Schemanamen abzurufen - für den Fall, dass Sie mehrere Ansichten mit demselben Namen in verschiedenen Schemata haben - und diese Systemansichten weggelassen:
Meiner Meinung nach ist dieser Weg aus den in meinem Kommentar zu Phils Antwort genannten Gründen besser als die Abfrage von INFORMATION_SCHEMA.views .
quelle
Wenn Sie dies nur interaktiv benötigen
psql
, können Sie es auch\dv
zum Anzeigen von Ansichten oder\dm
für materialisierte Ansichten verwenden. Oder verwenden Sie mit+
, um\dm+
zum Beispiel einige zusätzliche Informationen anzuzeigen (meist nützlich, um die Größe der materialisierten Ansicht zu sehen).quelle
\dv *.*
und\dm *.*
für diese Informationen zu allen Schemata!Versuchen:
Wenn Sie mehr Details wünschen, können Sie Folgendes an Ihre Bedürfnisse anpassen:
quelle
Ich habe ein erstellt,
view
um einen Katalog mit folgenden Elementen aufzulistenviews
:Und wenn ich alle Views in der Datenbank sehen will, schreibe ich:
quelle