В PostgreSQL можем да използваме information_schema.views
view, за да върнете всички изгледи в база данни.
Можем също да използваме \dv
psql команда, за да направите същото.
Пример за information_schema.views
Преглед
Ето пример за използване на information_schema.views
view, за да върнете списък с изгледи в текущата база данни:
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;
Примерен резултат:
+--------+----------------------------+ | 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 | +--------+----------------------------+
Тук изключихме information_schema
и pg_catalog
така че да получаваме само публични и създадени от потребители изгледи и да не бъдем бомбардирани със системни изгледи.
В този пример бях в pagila
примерна база данни.
Пример за \dv
Команда
Когато използваме psql, можем алтернативно да използваме \dv
команда:
\dv
Примерен резултат:
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)