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.