I PostgreSQL kan vi använda information_schema.views
view för att returnera alla vyer i en databas.
Vi kan också använda \dv
psql-kommandot för att göra samma sak.
Exempel på information_schema.views
Visa
Här är ett exempel på hur du använder information_schema.views
visa för att returnera en lista med vyer i den aktuella databasen:
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;
Exempelresultat:
+--------+----------------------------+ | 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 | +--------+----------------------------+
Här har vi uteslutit information_schema
och pg_catalog
så att vi bara får offentliga och användarskapade vyer, och vi inte bombarderas med systemvyer.
I det här exemplet var jag i pagila
exempeldatabas.
Exempel på \dv
Kommando
När vi använder psql kan vi alternativt använda \dv
kommando:
\dv
Exempelresultat:
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)