Comment répertorier toutes les vues d'une base de données à l'aide d'une commande SQL dans PostgreSQL?
Je voudrais quelque chose de similaire à la sortie de la \dv
commande psql , mais de préférence juste une liste de noms de vues. par exemple,
SELECT ...;
my_view_1
my_view_2
my_view_3
J'exécute PostgreSQL v9.1.4 sur Ubuntu Linux.
postgresql
view
postgresql-9.1
Rob Bednark
la source
la source
where table_schema='USERNAME'
à la requêtepublic
schéma.Vous pouvez rechercher
pg_catalog.pg_views
vos informations souhaitées:Requête raffinée pour obtenir également le nom du schéma - au cas où vous auriez plusieurs vues avec le même nom dans différents schémas - et en laissant de côté ces vues système:
IMHO, cette façon est meilleure que la requête INFORMATION_SCHEMA.views pour les raisons énoncées dans mon commentaire à la réponse de Phil .
la source
Si vous n'en avez besoin que de manière interactive
psql
, vous pouvez également utiliser\dv
pour afficher des vues ou\dm
pour des vues matérialisées. Ou utilisez avec+
, comme\dm+
par exemple pour afficher des informations supplémentaires (utiles pour voir la taille de la vue matérialisée).la source
\dv *.*
et\dm *.*
pour ces informations sur tous les schémas!Essayer:
Si vous souhaitez plus de détails, vous pouvez modifier ce qui suit pour répondre à vos besoins:
la source
J'ai créé un
view
pour lister un catalogue deviews
:Et quand je veux voir toutes les vues de la base de données, j'écris:
la source
Voici une requête qui affichera également vos vues matérialisées et vous montrera les dépendances de celles-ci.
la source