Det här problemet har ingenting att göra med databasen postgres
. Istället vill du manipulera katalogen av den aktuella databasen. Varje databas har en katalog med information om alla objekt i schemat pg_catalog
, och i standardkompatibel form i schemat information_schema
, så du bör begränsa åtkomsten till de för rollen i fråga och även för public
roll eftersom varje roll också är medlem av den rollen:
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;
Systemet respekterar dock inte alltid denna gränsöverskridande begränsning, katalogerna finns där av en anledning och ger viktiga funktioner i databasen. Särskilt funktioner kan fortfarande köras.
I allmänhet vill du inte pilla med katalogerna om inte du verkligen vet vad du gör .