I PostgreSQL kan vi bruge information_schema.views
view for at returnere alle visninger i en database.
Vi kan også bruge \dv
psql kommando til at gøre det samme.
Eksempel på information_schema.views
Vis
Her er et eksempel på brug af information_schema.views
view for at returnere en liste over visninger i den aktuelle database:
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;
Eksempelresultat:
+--------+----------------------------+ | 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 | +--------+----------------------------+
Her udelukkede vi information_schema
og pg_catalog
så vi kun får offentlige og brugerskabte visninger, og vi bliver ikke bombarderet med systemvisninger.
I dette eksempel var jeg i pagila
eksempeldatabase.
Eksempel på \dv
Kommando
Når du bruger psql, kan vi alternativt bruge \dv
kommando:
\dv
Eksempelresultat:
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)