若要使用云数据库RDS,您需要在实例中创建数据库和账号。对于PostgreSQL类型的实例,您需要通过RDS控制台创建一个初始账号,然后可以通过数据管理(DMS)控制台创建和管理数据库。本文将主要介绍在PostgreSQL类型的实例中创建数据库和账号的操作步骤。
注意事项
同一实例下的数据库共享该实例下的所有资源。每个PostgreSQL类型的实例支持创建无数个数据库,支持创建一个初始账号以及无数个普通账号,您可以通过SQL命令创建、管理普通账号和数据库。
如果您要迁移本地数据库到RDS,请在RDS实例中创建与本地数据库一致的迁移账号和数据库。
分配数据库账号权限时,请按最小权限原则和业务角色创建账号,并合理分配只读和读写权限。必要时可以把数据库账号和数据库拆分成更小粒度,使每个数据库账号只能访问其业务之内的数据。如果不需要数据库写入操作,请分配只读权限。
为保障数据库的安全,请将数据库账号的密码设置为强密码,并定期更换。
操作步骤
- 登录RDS管理控制台。
- 选择目标实例所在地域。
- 单击目标实例的ID,进入基本信息页面。
- 在左侧导航栏中,选择账号管理,进入账号管理页面。
- 单击创建初始账号。
- 输入要创建的账号信息,如下图所示。
[url=http://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/assets/img/7850/2960_zh-CN.png][/url] - 成功添加白名单后,单击登录。
- 成功登录RDS实例后,在页面上方的菜单栏中,选择SQL操作 > SQL窗口 。
- 在SQL窗口中输入如下命令,创建数据库。CREATE DATABASE name[ [ WITH ] [ OWNER [=] user_name ][ TEMPLATE [=] template ][ ENCODING [=] encoding ][ LC_COLLATE [=] lc_collate ][ LC_CTYPE [=] lc_ctype ][ TABLESPACE [=] tablespace_name ][ CONNECTION LIMIT [=] connlimit ] ]
例如,若您要创建一个名称为test的数据库,可以执行如下命令:createdatabasetest; - 单击执行,完成创建数据库。
- 在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'; - 单击执行,完成创建普通账号。