Le informazioni da information_schema.schemata
dipende dal ruolo a cui sei connesso, quindi non è proprio la vista giusta da interrogare per scoprire gli schemi in generale.
Il documento su information_schema.schemata
in 9.3
dice:
Tuttavia non è del tutto chiaro (almeno per me) solo da quella frase, perché non puoi vedere public
.
In un post sulla mailing list, Tom Lane ha una spiegazione che va un po' oltre:
Vedi http://www.postgresql.org/message-id/[email protected]
La sua conclusione:
che assomiglia esattamente al problema in questa domanda.
In conclusione:usa pg_namespace
invece di information_schema.schemata
Questo è stato modificato nella versione 9.4 per conformarsi a ciò che gli utenti si aspettano. Il documento corrente dice:
USAGE
il privilegio su uno schema è ora sufficiente per ottenerlo da questa vista.