本文介绍如何为RDS PostgreSQL实例创建账号。

账号类型

RDS PostgreSQL实例支持两种数据库账号:高权限账号和普通账号。详细说明如下。

账号类型 说明
高权限账号
  • 只能通过控制台或API创建和管理。
  • 本地盘实例只能创建一个高权限账号,云盘实例可以创建多个高权限账号,管理所有普通账号和数据库。
  • 开放了更多权限,可满足个性化和精细化的权限管理需求,例如可按用户分配不同表的查询权限。
  • 可以断开任意账号的连接。
普通账号
  • 可以通过控制台、API或者SQL语句创建和管理。
  • 一个实例可以创建多个普通账号 。
  • 需要手动给普通账号授予特定数据库的权限。
  • 普通账号不能创建和管理其他账号,也不能断开其他账号的连接。

注意事项

  • RDS PostgreSQL实例(本地盘)支持在控制台创建一个高权限账号(高权限账号创建后无法删除),以及通过SQL命令创建、管理普通账号。
  • RDS PostgreSQL实例(云盘)支持在控制台创建多个高权限账号和普通账号,也可以通过SQL命令创建、管理普通账号。
  • 如果您要迁移本地数据库到RDS,请在RDS实例中创建与本地数据库一致的迁移账号和数据库。
  • 分配数据库账号权限时,请按最小权限原则和业务角色创建账号,并合理分配只读和读写权限。必要时可以把数据库账号和数据库拆分成更小粒度,使每个数据库账号只能访问其业务之内的数据。如果不需要数据库写入操作,请分配只读权限。
  • 为保障数据库的安全,请将数据库账号的密码设置为强密码,并定期更换。

云盘实例创建账号

说明 如果您的PostgreSQL 10/11高可用版(云盘)页面和该操作步骤内的描述不一致,请参见下方PostgreSQL 10/11高可用版(云盘)临时控制台操作步骤
  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中,单击账号管理
  5. 在右侧单击创建账号
  6. 设置如下参数。
    云盘创建账号
    参数 说明
    数据库账号
    • 长度为2~16个字符。
    • 由小写字母、数字或下划线组成。
    • 以字母开头,以字母或数字结尾。
    • 不能和已有的账号名重复。
    账号类型 RDS PostgreSQL实例支持两种数据库账号:高权限账号和普通账号。
    • 高权限账号拥有所有数据库的所有操作权限。
    • 普通账号拥有已授权数据库(owner)的所有操作权限。
    说明 操作权限包括SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER。
    密码
    • 长度为8~32个字符。
    • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。
    • 特殊字符为!@#$%^&*()_+-=
    确认密码 再次输入相同的密码。
    备注说明 填写备注信息。
  7. 单击创建

本地盘实例创建账号

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中,单击账号管理
  5. 单击创建初始账号
  6. 设置如下参数。
    本地盘创建账号
    参数 说明
    数据库账号
    • 长度为2~16个字符。
    • 由小写字母、数字或下划线组成。
    • 以字母开头,以字母或数字结尾。
    • 不能和已有的账号名重复。
    密码
    • 长度为8~32个字符。
    • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。
    • 特殊字符为!@#$%^&*()_+-=
    确认密码 再次输入相同的密码。
  7. 单击创建
    说明 至此高权限账号已创建完成。如需创建普通账号,请参见后续步骤。
  8. 单击页面右上角的登录数据库,进入DMS登录页面。
  9. 设置如下参数。
    dms登录
    参数 说明
    网络地址:端口 填写实例的内网连接地址和内网端口。详情请参见查看或修改内外网地址和端口
    数据库用户名 填写要访问数据库的账号名称。
    密码 账号对应的密码。
  10. 单击登录
    说明 若出现将DMS服务器的IP段加入到RDS白名单中的提示,单击设置白名单即可。
  11. 成功登录RDS实例后,在页面上方的菜单栏单击SQL操作 > SQL窗口
  12. 在SQL窗口中按照如下语法,创建普通账号。
    CREATE USER name [ [ WITH ] option [ ... ] ]
    where option can be:
       SUPERUSER | NOSUPERUSER
     | CREATEDB | NOCREATEDB
     | CREATEROLE | NOCREATEROLE
     | CREATEUSER | NOCREATEUSER
     | INHERIT | NOINHERIT
     | LOGIN | NOLOGIN
     | REPLICATION | NOREPLICATION
     | CONNECTION LIMIT connlimit
     | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'
     | VALID UNTIL 'timestamp'
     | IN ROLE role_name [, ...]
     | IN GROUP role_name [, ...]
     | ROLE role_name [, ...]
     | ADMIN role_name [, ...]
     | USER role_name [, ...]
     | SYSID uid

    例如您要创建一个名称为test2、密码为123456的用户,可以执行如下命令:

    create user test2 password '123456';

PostgreSQL 10/11高可用版(云盘)临时控制台操作步骤

  1. 登录RDS管理控制台
  2. 在页面左上角,选择实例所在地域。
    选择地域
  3. 找到目标实例,单击实例ID。
  4. 在左侧导航栏中,单击账号管理
  5. 单击创建账号
  6. 设置如下参数。
    临时控制台创建账号
    参数 说明
    账号名
    • 长度不超过16个字符。
    • 由小写字母、数字、下划线组成。
    • 以字母开头,以字母或数字结尾。
    账号类型 选择账号类型为高权限账号或普通账号。
    密码
    • 长度为8~32个字符。
    • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。
    • 特殊字符为!@#$%^&*()_+-=
    确认密码 再次输入相同的密码。
  7. 单击确定

相关API

API 描述
CreateAccount 创建RDS实例的数据库账号。