PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come elencare tutte le viste in un database PostgreSQL

In PostgreSQL possiamo usare information_schema.views view per restituire tutte le viste in un database.

Possiamo anche usare il \dv psql per fare la stessa cosa.

Esempio di information_schema.views Visualizza

Ecco un esempio di utilizzo di information_schema.views view per restituire un elenco di viste nel database corrente:

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;

Esempio di risultato:

+--------+----------------------------+
| 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                 |
+--------+----------------------------+

Qui abbiamo escluso information_schema e pg_catalog in modo da ottenere solo visualizzazioni pubbliche e create dagli utenti e non essere bombardati da visualizzazioni di sistema.

In questo esempio, ero nella pagila database di esempio.

Esempio del \dv Comando

Quando usiamo psql, possiamo in alternativa usare \dv comando:

\dv

Esempio di risultato:

                    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)