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)