Можете да отмените достъпа до таблицата с идентификатори за удостоверяване в системните каталози:
REVOKE SELECT ON pg_catalog.pg_authid FROM public;
REVOKE SELECT ON pg_catalog.pg_auth_members FROM public;
Обърнете внимание, че отнемането на достъп до pg_roles
не е достатъчно, тъй като pg_roles
е само изглед върху pg_authid
и е тривиално да изпълните заявката за изглед ръчно или да дефинирате нов изглед със същата заявка. information_schema
изгледите също използват pg_authid
директно и не са засегнати от отнемане на достъп до pg_roles
. Не е необходимо да отмените достъпа до pg_roles
ако сте отменили достъпа до pg_authid
.
Имайте предвид, че отнемането на достъп до глобални таблици все още е операция за база данни.
Отмяната на достъпа до системните каталози може да има странични ефекти, включително:
- Някои системни функции не работят според очакванията
- Някои операции с метаданни в инструменти като JDBC драйвера са неуспешни
- ... и т.н.
и обикновено не се счита за поддържан.