PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como verificar se o esquema público do PostgreSQL existe?


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 http://www.postgresql.org/message-id/[email protected]

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.