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

PostgreSQL为新建用户添加默认postgres用户角色属性的方法

PostgreSQL 给新建用户分配postgres默认角色属性操作指南

问题背景

  • 前期项目使用PostgreSQL默认超级用户postgres完成环境部署,新项目要求数据库schema的指定所有者为user2,初始创建用户执行的命令如下:
create user user2 with password pw2;
  • 连接数据库后执行元命令\du,会以表格形式返回三类角色相关信息:角色名称、角色属性列表、所属成员。其中默认用户postgres自带5项核心角色属性:Superuser、Create role、Create DB、Replication、Bypass RLS,需要为user2添加上述全部属性。

属性配置方法

使用超级用户身份(默认用postgres账户即可)连接PostgreSQL实例,执行如下ALTER ROLE命令即可完成属性添加:

ALTER ROLE user2 WITH 
    SUPERUSER
    CREATEROLE
    CREATEDB
    REPLICATION
    BYPASSRLS;

执行完成后再次运行\du,即可看到user2的角色属性列表已经和postgres的对应属性一致。


问题更新
完成上述属性配置后,可执行如下命令导入schema文件生成数据库结构:

./psql -U user2 mydb < schema.sql

但上述配置无法解决序列所有者不匹配的问题:执行包含... owned by mydb.a_table.uid逻辑的脚本时,会触发报错sequence must be same owner as table it is linked to,该问题将单独发帖咨询。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 09:45:37