我正在尝试撤销一个用户在数据库上的所有权限,但我无法让它工作。
我正在执行以下操作:
我正在执行以下操作:
REVOKE ALL PRIVILEGES ON DATABASE db1 FROM user1;
REVOKE ALL PRIVILEGES ON DATABASE db1 FROM user1;
REVOKE ALL
指的是一个对象上的所有权限,而不是相关对象的所有权限。在这种情况下,您是在说“适用于数据库的所有权限,作为单个对象”。唯一存在于 数据库级别 的权限是 CONNECT
,默认情况下,它被授予特殊角色 Public
,所有其他角色都是其成员。REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA foo FROM somebody
用于不同的对象类型。您还应使用 ALTER DEFAULT PRIVILEGES
确保您从现在开始创建的对象不可访问。
REVOKE CONNECT ON DATABASE db1 FROM user;
- Rahul Tripathi