W PostgreSQL możemy użyć information_schema.views
view, aby zwrócić wszystkie widoki w bazie danych.
Możemy również użyć \dv
polecenie psql, aby zrobić to samo.
Przykład information_schema.views
Zobacz
Oto przykład użycia information_schema.views
view, aby zwrócić listę widoków w bieżącej bazie danych:
SELECT
table_schema AS schema,
table_name AS view
FROM
information_schema.views
WHERE
table_schema NOT IN ('information_schema', 'pg_catalog')
ORDER BY
schema ASC,
view ASC;
Przykładowy wynik:
+--------+----------------------------+ | schema | view | +--------+----------------------------+ | public | actor_info | | public | customer_list | | public | film_list | | public | nicer_but_slower_film_list | | public | sales_by_film_category | | public | sales_by_store | | public | staff_list | +--------+----------------------------+
Tutaj wykluczyliśmy information_schema
i pg_catalog
dzięki czemu otrzymujemy tylko widoki publiczne i utworzone przez użytkowników i nie jesteśmy bombardowani widokami systemowymi.
W tym przykładzie byłem na pagila
przykładowa baza danych.
Przykład \dv
Polecenie
Używając psql, możemy alternatywnie użyć \dv
polecenie:
\dv
Przykładowy wynik:
List of relations +--------+----------------------------+------+----------+ | Schema | Name | Type | Owner | +--------+----------------------------+------+----------+ | public | actor_info | view | postgres | | public | customer_list | view | postgres | | public | film_list | view | postgres | | public | nicer_but_slower_film_list | view | postgres | | public | sales_by_film_category | view | postgres | | public | sales_by_store | view | postgres | | public | staff_list | view | postgres | +--------+----------------------------+------+----------+ (7 rows)