Lassen Sie mich Ihnen dabei helfen:
-
1. :weil der
pg_catalog
gehört dem Superuser postgres , stellen Sie also sicher, dass Sie sich mit dieser Rolle beim Server anmelden:pg_catalog-Schemaberechtigung -
2. :Stellen Sie sicher, dass Sie sich rechts verbinden Datenbank, die GEWÄHREN/WIDERRUFEN werden muss Berechtigungen an. GRANT/REVOKE wirken sich nur auf den aktuellen Wert aus Datenbank, mit der Sie sich verbunden haben. Das bedeutet, nachdem Sie sich mit dem Superuser-Konto angemeldet haben, geben Sie Folgendes ein:\c [the db] Um sich mit dieser Datenbank zu verbinden, ändert sich die Shell zu:[the db]=>
-
3. :Tabellen in
pg_catalog
Standardwerte gewährt SELECT an PUBLIC:Tabellen in pg_catalog. Sie müssen also REVOKE SELECT FROM PUBLIC ausführen und dann den entsprechenden Benutzern GRANT SELECT geben:REVOKE SELECT FÜR ALLE TABELLEN IN SCHEMA pg_catalog FROM PUBLIC;
GRANT SELECT ON TABLE [Tabelle] TO [Benutzer];
Für Listentabellen in einer Datenbank:pg_class und pg_namespace .
Und das ist alles :)