Como listar todas as visualizações de um banco de dados usando um comando SQL no PostgreSQL?
Gostaria de algo semelhante à saída do \dv
comando psql , mas de preferência apenas uma lista de nomes de exibição. por exemplo,
SELECT ...;
my_view_1
my_view_2
my_view_3
Estou executando o PostgreSQL v9.1.4 no Ubuntu Linux.
postgresql
view
postgresql-9.1
Rob Bednark
fonte
fonte
where table_schema='USERNAME'
-o à consultapublic
esquema.Você pode consultar
pg_catalog.pg_views
as informações desejadas:Consulta refinada para obter também o nome do esquema - caso você tenha várias visualizações com o mesmo nome em esquemas diferentes - e deixe de fora as visualizações do sistema:
IMHO, desta maneira é melhor do que consultar o arquivo INFORMATION_SCHEMA.views por razões declaradas no meu comentário à resposta do Phil .
fonte
Se você precisar apenas de forma interativa enquanto estiver no local
psql
, também poderá usar\dv
para mostrar visualizações ou\dm
para visualizações materializadas. Ou use com+
, como\dm+
por exemplo, para mostrar algumas informações adicionais (principalmente úteis para ver o tamanho da visualização materializada).fonte
\dv *.*
e\dm *.*
para essas informações sobre todos os esquemas!Experimentar:
Se você deseja obter mais detalhes, pode modificar o seguinte para atender às suas necessidades:
fonte
Eu criei um
view
para listar um catálogo deviews
:E quando eu quero ver todas as visualizações no banco de dados eu escrevo:
fonte
Aqui está uma consulta que mostrará suas visualizações materializadas e mostrará as dependências das visualizações.
fonte