Du kan återkalla åtkomsten till tabellen för autentiserings-ID i systemkatalogerna:
REVOKE SELECT ON pg_catalog.pg_authid FROM public;
REVOKE SELECT ON pg_catalog.pg_auth_members FROM public;
Observera att återkalla åtkomst till pg_roles är inte tillräckligt, eftersom pg_roles är bara en vy över pg_authid och det är trivialt att köra vyfrågan manuellt eller definiera en ny vy med samma fråga. information_schema vyer använder också pg_authid direkt och påverkas inte av att återkalla åtkomst till pg_roles . Det är inte nödvändigt att återkalla åtkomst till pg_roles om du har återkallat åtkomst till pg_authid .
Var medveten om att återkallande av åtkomst till globala tabeller fortfarande är en operation per databas.
Att återkalla åtkomst till systemkataloger kan ha biverkningar, inklusive:
- Vissa systemfunktioner fungerar inte som förväntat
- Vissa metadataoperationer i verktyg som JDBC-drivrutinen misslyckas
- ... osv
och anses inte allmänt stöds.