title: PostgreSQL Revoking Permissions from pg_catalog tables
body: <p>Is there a way I can revoke permissions from a user to the catalog objects (i.e. information_schema) and PostgreSQL tables (i.e. pg_catalog)? I've tried several things and scoured the net. I'm not having any luck. The only thing I read that is partially helpful is I may not want to remove "public" from the system tables in case user defined functions rely on an object in one of those schemas. The commands below are a small snap shot of what I have not gotten to work with the exception of a single table.</p>
  
  <pre><code>REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM PUBLIC; -- didn't work
  REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM public; -- didn't work
  REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM user1; -- didn't work
  REVOKE SELECT ON pg_catalog.pg_roles FROM user1; -- worked
  REVOKE SELECT ON pg_catalog.pg_database FROM user1;  -- didn't work
  
  REVOKE ALL PRIVILEGES ON SCHEMA pg_catalog FROM g_users; -- didn't work
  REVOKE SELECT ON pg_catalog.pg_database FROM g_users;  -- didn't work
  </code></pre>
  
  <p>Any ideas? Or is this just not possible? Thanks...</p>
  
  <p>Leslie</p>