As informações de
information_schema.schemata depende da função com a qual você está conectado, portanto, não é realmente a visualização correta para consultar para descobrir esquemas em geral. O documento em
information_schema.schemata em 9.3
diz:No entanto, não está muito claro (pelo menos para mim) apenas nessa frase, por que você não pode ver
public . Em uma postagem na lista de discussão, Tom Lane tem uma explicação que vai um pouco além:
Veja https://www.postgresql.org/message-id/example@sqldat.com
Sua conclusão:
que se parece exatamente com o problema nesta questão.
Conclusão:use
pg_namespace em vez de information_schema.schemata Isso foi alterado na versão 9.4 para estar em conformidade com o que os usuários esperam. O documento atual diz:
USAGE privilégio em um esquema agora é suficiente para obtê-lo desta visão.