创建账号和数据库

若要使用云数据库RDS,您需要在实例中创建账号和数据库。本文介绍如何为RDS PostgreSQL实例创建账号和数据库。

账号类型

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

账号类型

说明

高权限账号

  • 只能通过控制台或API创建和管理。

  • 可以创建多个高权限账号,管理所有普通账号和数据库。

  • 开放了更多权限,可满足个性化和精细化的权限管理需求,例如可按用户分配不同表的查询权限。

  • 可以断开任意账号的连接。

说明
  • 当创建的高权限账号是该实例的第一个高权限账号时,这个账号将是标准系统数据库template1中默认模式Public Schema的Owner。

  • CREATE DATABASE命令默认通过复制template1来创建数据库。通过该方式创建的数据库,Public Schema的Owner均为第一个高权限账号。

  • 第一个高权限账号的Comment开头会包含说明:template1 public schema owner。

普通账号

  • 可以通过控制台、API或者SQL语句创建和管理。

  • 一个实例可以创建多个普通账号 。

  • 需要手动给普通账号授予特定数据库的权限。

  • 普通账号不能创建和管理其他账号,也不能断开其他账号的连接。

注意事项

  • 支持在控制台创建多个高权限账号和普通账号,也可以通过SQL命令创建、管理普通账号。

  • 如果您要迁移本地数据库到RDS,请在RDS实例中创建与本地数据库一致的迁移账号和数据库。

  • 分配数据库账号权限时,请按最小权限原则和业务角色创建账号,并合理分配只读和读写权限。必要时可以把数据库账号和数据库拆分成更小粒度,使每个数据库账号只能访问其业务之内的数据。如果不需要数据库写入操作,请分配只读权限。

  • 为保障数据库的安全,请将数据库账号的密码设置为强密码,并定期更换。

创建账号

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏中选择账号管理

  3. 单击创建账号

  4. 设置如下参数。

    参数

    说明

    数据库账号:

    • 长度为2~63个字符。

    • 由小写字母、数字或下划线组成。

    • 以字母开头,以字母或数字结尾。

    • 不能和已有的账号名重复。

    • 不能以pg开头。

    • 不能使用SQL关键字。具体请参见SQL关键字

    账号类型:

    RDS PostgreSQL实例支持两种数据库账号:高权限账号和普通账号。

    • 高权限账号拥有所有数据库的所有操作权限。

    • 普通账号拥有已授权数据库(owner)的所有操作权限。

    说明

    操作权限包括SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER。

    密码:

    • 长度为8~32个字符。

    • 由大写字母、小写字母、数字、特殊字符中的任意三种组成。

    • 特殊字符为!@#$%^&*()_+-=

    确认密码:

    再次输入相同的密码。

    备注说明

    填写备注信息。

  5. 单击确定

创建数据库

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
  2. 在左侧导航栏单击数据库管理

  3. 单击创建数据库

  4. 设置如下参数。

    参数

    说明

    数据库(DB)名称

    • 最长63个字符。

    • 由小写字母、数字、中划线、下划线组成。

    • 以字母开头,以字母或数字结尾。

    支持字符集

    数据库的字符集。

    Collate

    字符串排序规则。

    Ctype

    字符分类。

    授权账号

    设置数据库的所有者,对数据库拥有ALL权限。

    备注说明

    填写备注信息。

  5. 单击创建

    创建成功后,即可在数据库管理中查看已创建的数据库及其相关信息。创建的账号

    参数

    说明

    限制并发量

    指对应数据库并发请求执行的上限量,默认不限制,您也可以使用高权限账号登录数据库后,使用ALTER DATABASE <数据库名> CONNECTION LIMIT <并发量>;命令修改。

    表空间

    指数据库所属的表空间,默认为pg_default,表空间路径不支持查看和修改。

    如果您使用一键上云等迁移方式将本地自建数据库迁移上云时,表空间将与本地自建数据库表空间名称相同,支持将数据库和表的表空间修改为pg_defult

常见问题

创建的账号在只读实例上可以用吗?

答:主实例创建的账号会同步到只读实例,只读实例无法管理账号。账号在只读实例上只能进行读操作,不能进行写操作。

相关API

API

描述

创建数据库账号

创建账号