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)