En PostgreSQL, podemos usar information_schema.views view para devolver todas las vistas en una base de datos.
También podemos usar el \dv comando psql para hacer lo mismo.
Ejemplo de information_schema.views Ver
Aquí hay un ejemplo del uso de information_schema.views vista para devolver una lista de vistas en la base de datos actual:
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; Resultado de ejemplo:
+--------+----------------------------+ | 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 | +--------+----------------------------+
Aquí, excluimos information_schema y pg_catalog para que solo obtengamos vistas públicas y creadas por usuarios, y no seamos bombardeados con vistas del sistema.
En este ejemplo, estaba en la pagila base de datos de ejemplo.
Ejemplo de \dv Comando
Cuando usamos psql, alternativamente podemos usar \dv comando:
\dv Resultado de ejemplo:
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)