lascia che ti aiuti su questo:
-
1° :perché il
pg_catalog
è di proprietà del superutente postgres , quindi assicurati di accedere al server con questo ruolo:pg_catalog schema autorizzazione -
2° :assicurati di connetterti a destra database che deve CONCEDERE/REVOCARE autorizzazioni su. CONCEDERE/REVOCARE interessa solo la corrente database a cui ti sei connesso. Ciò significa che dopo aver effettuato l'accesso con un account superutente, emettere:\c [the db] per connettersi a quel database, la shell cambierà in:[the db]=>
-
3° :tabelle in
pg_catalog
impostazioni predefinite concesse SELECT a PUBLIC:tabelle in pg_catalog. Quindi, devi eseguire REVOKE SELECT FROM PUBLIC e quindi GRANT SELECT agli utenti appropriati:REVOCA SELEZIONA SU TUTTE LE TABELLE DELLO SCHEMA pg_catalog DAL PUBBLICO;
CONCEDERE SELEZIONA SULLA TABELLA [tabella] A [utente];
Per elenchi di tabelle in un database:pg_class e pg_namespace .
E questo è tutto :)