You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何撤销PostgreSQL中ROLE1成员user1的Schema创建权限?

解决方案

要实现撤销user1的Schema创建权限但保留ROLE1赋予的其他权限,可以通过数据库级别权限撤销来实现,具体步骤如下:

1. 撤销user1的数据库CREATE权限

创建Schema的权限本质是数据库级别的CREATE权限,直接撤销user1在目标数据库上的该权限即可覆盖其从ROLE1继承的权限:

-- 替换mydb为你的实际数据库名称
REVOKE CREATE ON DATABASE mydb FROM user1;

2. (可选)清理PUBLIC角色的默认权限

如果你的数据库中PUBLIC角色默认拥有CREATE权限(部分PostgreSQL版本默认开放此权限),为避免user1通过PUBLIC继承该权限,可一并撤销:

REVOKE CREATE ON DATABASE mydb FROM PUBLIC;

验证权限

使用user1登录数据库后,执行CREATE SCHEMA test_schema;,若返回ERROR: permission denied for database mydb则说明权限限制生效,其他原ROLE1赋予的权限不受影响。


内容的提问来源于stack exchange,提问作者Andrey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 20:20:34