この問題は、データベースの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;
ただし、システムはこの全面的な制限を常に尊重しているわけではありません。カタログには理由があり、データベースに重要な機能を提供します。特に機能はまだ実行される可能性があります。
一般に、自分が何をしているかを本当に理解していない限り、カタログをいじりたくないでしょう。 。