PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como listar todas as exibições em um banco de dados PostgreSQL


No PostgreSQL, podemos usar o information_schema.views view para retornar todas as exibições em um banco de dados.

Também podemos usar o \dv comando psql para fazer a mesma coisa.

Exemplo do information_schema.views Visualizar


Aqui está um exemplo de como usar o information_schema.views view para retornar uma lista de visualizações no banco de dados atual:
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;

Exemplo de resultado:
+--------+----------------------------+
| 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                 |
+--------+----------------------------+

Aqui, excluímos information_schema e pg_catalog para que tenhamos apenas visualizações públicas e criadas pelo usuário, e não sejamos bombardeados com visualizações do sistema.

Neste exemplo, eu estava na pagila banco de dados de exemplo.

Exemplo do \dv Comando


Ao usar o psql, podemos usar alternativamente o \dv comando:
\dv

Exemplo de resultado:
                    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)