Sự cố này không liên quan gì đến cơ sở dữ liệu postgres
. Thay vào đó, bạn muốn thao tác với danh mục của cơ sở dữ liệu hiện tại. Mọi cơ sở dữ liệu đều có một danh mục thông tin về tất cả các đối tượng trong lược đồ pg_catalog
và ở dạng tuân thủ tiêu chuẩn trong schema information_schema
, vì vậy bạn nên hạn chế quyền truy cập vào những người cho vai trò được đề cập và cả cho public
vì vai trò nào cũng là thành viên của vai trò đó:
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;
Tuy nhiên, hệ thống không phải lúc nào cũng tôn trọng hạn chế trên toàn bộ này, các danh mục ở đó là có lý do và cung cấp các chức năng quan trọng trong cơ sở dữ liệu. Riêng các chức năng vẫn có thể thực thi.
Nói chung, bạn không muốn loay hoay với các danh mục trừ khi bạn thực sự biết mình đang làm gì .