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 https://www.postgresql.org/identyfikator-wiadomości/example@sqldat.com
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.