information_schema.schemataからの情報 接続しているロールによって異なるため、一般的にスキーマを検出するためにクエリを実行するのは実際には適切なビューではありません。
information_schema.schemataのドキュメント 9.3で
言う:
ただし、その文だけでは(少なくとも私には)はっきりしていません。なぜpublicが表示されないのですか。 。
メーリングリストの投稿で、TomLaneはもう少し詳しく説明しています。
https://www.postgresql.org/message-id/example@sqldat.com
彼の結論:
これは、この質問の問題とまったく同じように見えます。
結論:pg_namespaceを使用します information_schema.schemataの代わりに
これは、ユーザーの期待に準拠するようにバージョン9.4で修正されました。 現在のドキュメント 言う:
USAGE スキーマに対する特権は、このビューから取得するのに十分です。