pozwól, że ci pomogę:
-
Pierwszy :ponieważ
pg_catalog
należy do superużytkownika postgres , więc upewnij się, że logujesz się do serwera z tą rolą:uprawnienie do schematu pg_catalog -
Drugi :upewnij się, że łączysz się z prawą baza danych, która wymaga przyznania/odwołania uprawnienia włączone. GRANT/REVOKE dotyczy tylko bieżącego baza danych, z którą się łączysz. Oznacza to, że po zalogowaniu się na konto superużytkownika problem:\c [baza danych] aby połączyć się z tą bazą danych, powłoka zmieni się na:[the db]=>
-
3. :tabele w
pg_catalog
domyślnie przyznano SELECT do PUBLIC:tabele w pg_catalog. Musisz więc uruchomić REVOKE SELECT FROM PUBLIC, a następnie PRZYZNAĆ WYBÓR odpowiednim użytkownikom:ODWOŁAJ WYBÓR WE WSZYSTKICH TABELACH W SCHEMACIE pg_catalog OD PUBLICZNEJ;
GRANT SELECT ON TABLE [tabela] TO [użytkownik];
Dla tabel z listą w bazie danych:pg_class i pg_namespace .
I to wszystko :)