Tento problém nemá nic společného s databází postgres
. Místo toho chcete manipulovat s katalogem aktuální databáze. Každá databáze má katalog informací o všech objektech ve schématu pg_catalog
a ve formě vyhovující standardům ve schématu information_schema
, takže byste měli omezit přístup na ty pro danou roli a také pro public
role, protože každá role je také členem této role:
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;
Ne vždy však systém toto plošné omezení dodržuje, katalogy tu jsou z nějakého důvodu a poskytují důležité funkce v databázi. Zejména funkce se mohou stále provádět.
Obecně platí, že se nechcete pohrávat s katalogy, pokud skutečně nevíte, co děláte .