Les informations de information_schema.schemata
dépend du rôle auquel vous êtes connecté, ce n'est donc pas vraiment la bonne vue à interroger pour découvrir les schémas en général.
La doc sur information_schema.schemata
en 9.3
dit :
Cependant, il n'est pas tout à fait clair (du moins pour moi) à partir de cette phrase, pourquoi vous ne pouvez pas voir public
.
Dans un message de liste de diffusion, Tom Lane a une explication qui va un peu plus loin :
Voir http://www.postgresql.org/message-id/[email protected]
Sa conclusion :
qui ressemble exactement au problème de cette question.
Conclusion :utilisez pg_namespace
au lieu de information_schema.schemata
Cela a été modifié dans la version 9.4 pour se conformer aux attentes des utilisateurs. La documentation actuelle dit :
USAGE
le privilège sur un schéma est maintenant suffisant pour l'obtenir à partir de cette vue.