Този проблем няма нищо общо с базата данни postgres
. Вместо това искате да манипулирате каталога от текущата база данни. Всяка база данни има каталог с информация за всички обекти в схемата pg_catalog
и в съвместима със стандартите форма в схема information_schema
, така че трябва да ограничите достъпа до тези за въпросната роля, а също и за public
роля, защото всяка роля също е член на тази роля:
REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM newrole;
REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM public;
REVOKE ALL PRIVILEGES ON SCHEMA information_schema FROM newrole;
REVOKE ALL PRIVILEGES ON SCHEMA information_schema FROM public;
Системата обаче не винаги спазва това общо ограничение, каталозите са там с причина и предоставят важни функции в базата данни. Някои функции все още могат да се изпълняват.
Като цяло не искате да се занимавате с каталозите, освен ако наистина не знаете какво правите .