Informacje z information_schema.schemata
zależy od roli, z którą jesteś połączony, więc nie jest to właściwy widok do wykonywania zapytań w celu odkrycia schematów w ogóle.
dokument dotyczący information_schema.schemata
w 9.3
mówi:
Jednak nie jest całkiem jasne (przynajmniej dla mnie) z tego zdania, dlaczego nie widzisz public
.
W poście na liście mailingowej Tom Lane ma wyjaśnienie, które idzie nieco dalej:
Zobacz http://www.postgresql.org/identyfikator-wiadomości/[email protected]
Jego wniosek:
co wygląda dokładnie tak, jak problem w tym pytaniu.
Konkluzja:użyj pg_namespace
zamiast information_schema.schemata
Zostało to zmienione w wersji 9.4, aby dostosować się do oczekiwań użytkowników. aktualny dokument mówi:
USAGE
uprawnienia do schematu są teraz wystarczające, aby uzyskać je z tego widoku.