¿Cómo enumero todas las vistas para una base de datos usando un comando SQL en PostgreSQL?
Me gustaría algo similar a la salida del \dv
comando psql , pero preferiblemente solo una lista de nombres de vista. p.ej,
SELECT ...;
my_view_1
my_view_2
my_view_3
Estoy ejecutando PostgreSQL v9.1.4 en Ubuntu Linux.
postgresql
view
postgresql-9.1
Rob Bednark
fuente
fuente
where table_schema='USERNAME'
a la consultapublic
esquema.Puede consultar
pg_catalog.pg_views
su información deseada:Consulta refinada para obtener también el nombre del esquema, en caso de que tenga varias vistas con el mismo nombre en diferentes esquemas, y omitió esas vistas del sistema:
En mi humilde opinión, de esta manera es mejor que consultar información_SCHEMA.views por razones indicadas en mi comentario a la respuesta de Phil .
fuente
Si solo necesita esto de forma interactiva mientras está en
psql
, también puede usarlo\dv
para mostrar vistas o\dm
para vistas materializadas. O use con+
,\dm+
por ejemplo, para mostrar información adicional (sobre todo útil para ver el tamaño de la vista materializada).fuente
\dv *.*
y\dm *.*
para esa información en todos los esquemas!Tratar:
Si desea más detalles, puede modificar lo siguiente para adaptarlo a sus necesidades:
fuente
Creé un
view
para enumerar un catálogo deviews
:Y cuando quiero ver todas las vistas en la base de datos, escribo:
fuente
Aquí hay una consulta que también mostrará sus vistas materializadas y le mostrará las dependencias de las vistas.
fuente