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

Azure PostgreSQL灵活服务器:如何创建全权限管理员用户

解决Azure Database for PostgreSQL灵活服务器中管理员用户无法访问普通用户创建对象的问题

azure_pg_admin角色虽然是Azure PostgreSQL提供的高权限角色,但普通用户创建的数据库对象(表、函数、序列等)默认仅对创建者开放权限,不会自动赋予该角色。要让test_admin拥有所有对象的全量操作权限,需要补充配置现有对象权限和未来对象的默认权限:

1. 授予数据库和模式的基础权限

先切换到目标业务数据库,执行以下SQL(替换your_database_name和自定义模式名称):

-- 授予数据库全权限
GRANT ALL ON DATABASE your_database_name TO test_admin;

-- 授予public模式的使用和创建权限
GRANT USAGE, CREATE ON SCHEMA public TO test_admin;

-- 若有自定义模式,执行对应授权
GRANT USAGE, CREATE ON SCHEMA your_custom_schema TO test_admin;

2. 批量授权现有对象

对已经存在的表、函数、序列等对象,批量赋予test_admin全权限:

-- 处理public模式下的现有对象
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO test_admin;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO test_admin;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO test_admin;

-- 自定义模式同理替换public
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA your_custom_schema TO test_admin;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA your_custom_schema TO test_admin;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA your_custom_schema TO test_admin;

3. 配置未来对象的默认权限

确保之后普通用户创建的对象自动对test_admin开放权限,设置模式的默认权限规则:

-- 针对public模式配置未来对象的默认权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO test_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO test_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON FUNCTIONS TO test_admin;

-- 自定义模式同理
ALTER DEFAULT PRIVILEGES IN SCHEMA your_custom_schema GRANT ALL PRIVILEGES ON TABLES TO test_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA your_custom_schema GRANT ALL PRIVILEGES ON SEQUENCES TO test_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA your_custom_schema GRANT ALL PRIVILEGES ON FUNCTIONS TO test_admin;

执行完以上步骤后,test_admin就能对所有模式下的新旧对象执行DDL、查询、修改等全量操作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 16:20:21