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

Azure PostgreSQL弹性服务器:如何配置全对象权限的管理员用户?

在Azure PostgreSQL弹性服务器创建全权限管理员用户的解决方案

可以创建具备所有数据库对象完整权限的管理员用户,以下是具体操作步骤(需使用服务器的超级用户执行,比如默认的postgres用户):

  1. 创建管理员用户

    CREATE USER full_admin WITH LOGIN PASSWORD 'your_secure_password';
    
  2. 授予基础管理权限
    让用户具备创建数据库、管理其他用户的能力:

    ALTER USER full_admin CREATEDB CREATEROLE;
    
  3. 授予目标数据库的全权限

    GRANT ALL PRIVILEGES ON DATABASE your_target_db TO full_admin;
    
  4. 切换到目标数据库并配置Schema权限
    先切换到目标数据库:

    \c your_target_db
    

    授予对现有Schema的使用、创建权限(以public为例,如有自定义Schema请替换):

    GRANT USAGE, CREATE ON SCHEMA public TO full_admin WITH GRANT OPTION;
    

    授予对现有数据库对象的全权限:

    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO full_admin WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO full_admin WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO full_admin WITH GRANT OPTION;
    
  5. 配置默认权限(未来对象自动授权)
    确保流水线后续创建的对象自动赋予该管理员权限:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO full_admin WITH GRANT OPTION;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO full_admin WITH GRANT OPTION;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON FUNCTIONS TO full_admin WITH GRANT OPTION;
    

说明

  • 操作完成后,full_admin用户将拥有对指定数据库内所有对象的读写、修改、删除权限,同时具备为其他用户授权的能力,包括管理流水线创建的归属其他身份的对象。
  • 如果存在多个自定义Schema,需要为每个Schema重复执行步骤4和步骤5中的Schema相关命令。
  • Azure PostgreSQL弹性服务器的默认超级用户为azure_superuser,若你使用的创建服务器时的管理员用户(如postgres)权限不足,可通过该用户执行操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:28:15