Masalah ini tidak ada hubungannya dengan database postgres
. Sebagai gantinya, Anda ingin memanipulasi katalog dari database saat ini. Setiap database memiliki katalog informasi tentang semua objek dalam skema pg_catalog
, dan dalam bentuk yang sesuai standar dalam skema information_schema
, jadi Anda harus membatasi akses untuk peran tersebut dan juga untuk public
peran karena setiap peran juga merupakan anggota dari peran itu:
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;
Namun, sistem tidak selalu menghormati pembatasan menyeluruh ini, katalog ada karena suatu alasan dan menyediakan fungsi penting dalam database. Terutama fungsi masih dapat dijalankan.
Secara umum, Anda tidak ingin mengutak-atik katalog kecuali Anda benar-benar tahu apa yang Anda lakukan .