sql >> Database >  >> RDS >> PostgreSQL

Toegang tot de postgres-database intrekken voor een rol

Dit probleem heeft niets te maken met database postgres . In plaats daarvan wil je de catalogus . manipuleren van de huidige database. Elke database heeft een catalogus met informatie over alle objecten in schema pg_catalog , en in standaardconforme vorm in schema information_schema , dus je moet de toegang beperken tot die voor de rol in kwestie en ook voor de public rol omdat elke rol ook lid is van die rol:

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;

Het systeem houdt zich echter niet altijd aan deze algemene beperking, de catalogi zijn er met een reden en bieden belangrijke functies in de database. Met name functies kunnen nog steeds worden uitgevoerd.

Over het algemeen wil je niet met catalogi spelen tenzij je echt weet wat je doet .



  1. Wat is het DC2Type array-gegevenstype in mysql

  2. SQL Server Clustering vanuit een Oracle RAC-perspectief

  3. Deadlock-fout in INSERT-instructie

  4. Hoe tabellen te testen die zijn gekoppeld aan externe sleutels?