Jak wyświetlić listę wszystkich widoków bazy danych za pomocą polecenia SQL w PostgreSQL?
Chciałbym coś podobnego do wyniku \dv
polecenia psql , ale najlepiej tylko listę nazw widoków. na przykład,
SELECT ...;
my_view_1
my_view_2
my_view_3
Używam PostgreSQL v9.1.4 na Ubuntu Linux.
postgresql
view
postgresql-9.1
Rob Bednark
źródło
źródło
Odpowiedzi:
Z dokumentacji :
Jeśli nie chcesz, aby widoki systemu były Twoim wynikiem, spróbuj tego:
źródło
where table_schema='USERNAME'
do zapytaniapublic
schemat.Możesz zapytać
pg_catalog.pg_views
o pożądane informacje:Udoskonalone zapytanie, aby uzyskać także nazwę schematu - na wypadek, gdybyś miał wiele widoków o tej samej nazwie w różnych schematach - i pominął te widoki systemu:
IMHO, ten sposób jest lepszy niż przeglądanie informacji INFORMACJE_SCHEMA. z powodów podanych w moim komentarzu do odpowiedzi Phila .
źródło
Jeśli potrzebujesz tego tylko interaktywnie
psql
, możesz także użyć\dv
do wyświetlenia widoków lub\dm
widoków zmaterializowanych. Lub użyj z+
,\dm+
na przykład, aby wyświetlić dodatkowe informacje (najczęściej przydatne, aby zobaczyć zmaterializowany rozmiar widoku).źródło
\dv *.*
i\dm *.*
dla tych informacji na temat wszystkich schematów!Próbować:
Jeśli chcesz uzyskać więcej szczegółów, możesz zmodyfikować następujące elementy w zależności od potrzeb:
źródło
Stworzyłem,
view
aby wyświetlić katalogviews
:A kiedy chcę zobaczyć wszystkie widoki w bazie danych, piszę:
źródło