
# 约束与限制
RDS for PostgreSQL在使用上有一些固定限制，用来提高实例的稳定性和安全性。
#### 规格与性能限制
表1规格说明 
| 资源类型  | 规格                                                                                                                                                                                        | 说明                                                                                                                                                                                         |
|:---|:---|:---|
| 存储空间  | - SSD云盘：40GB\~4000GB  - 极速型SSD：40GB\~4000GB   | -                                                                                                                                                                                          |
| 最大连接数 | 取决于"max_connections"参数的值。                                                                                                                                                                 | 更多信息，请参见[RDS数据库实例支持的最大数据连接数是多少](https://support.huaweicloud.com/rds-pg_faq/rds_faq_0055.html)。                                                                                             |
| IOPS  | - SSD云盘：最大50000  - 极速型SSD：最大128000      | SSD云盘和极速型SSD支持的IOPS取决于云硬盘（Elastic Volume Service，简称EVS）的IO性能，具体请参见《云硬盘产品介绍》中"[磁盘类型及性能介绍](https://support.huaweicloud.com/productdesc-evs/zh-cn_topic_0044524691.html)"中"超高IO"和"极速型SSD"的内容。 |
   
#### 配额
表2配额 
| 资源类型     | 限制                                                                                                                                                                                  | 说明                                                                                                               |
|:---|:---|:---|
| 只读实例     | 1个实例最多创建5个只读实例。                                                                                                                                                                     | 更多信息，请参见[只读实例简介](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_11_0002.html)。                         |
| 标签       | 1个实例最多支持20个标签配额。                                                                                                                                                                    | 更多信息，请参见[标签](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_tag.html)。                                 |
| 免费备份空间   | RDS提供了和实例磁盘大小相同的部分免费存储空间，用于存放您的备份数据。                                                                                                                                                | 免费的存储空间是在收取了数据盘的存储空间费用后赠送的，更多信息，请参见[RDS的备份是如何收费的](https://support.huaweicloud.com/rds-pg_faq/rds_faq_0074.html)。 |
| 自动备份保留天数 | 默认为7天，可设置范围为1～3660天。                                                                                                                                                                | 更多信息，请参见[设置同区域备份策略](https://support.huaweicloud.com/usermanual-rds-pg/rds_09_0027.html)。                         |
| 日志查询     | - 错误日志明细：2000条  - 慢日志明细：2000条   | 更多信息，请参见[日志管理](https://support.huaweicloud.com/usermanual-rds-pg/rds_08_001.html)。                               |
   
#### 命名限制
表3命名限制 
| 限制项    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 实例名称   | - 长度最小为4字符，最大为64个字符，如果名称包含中文，则不超过64字节（注意：一个中文字符占用3个字节）。  - 必须以字母或中文开头，区分大小写，可以包含字母、数字、中划线、下划线或中文，不能包含其他特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 数据库名称  | - 长度在1～63个字符之间。  - 由字母、数字或下划线组成，不能包含其他特殊字符，不能以"pg"和数字开头，且不能和RDS for PostgreSQL模板库重名。RDS for PostgreSQL模板库包括postgres， template0 ，template1。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 账号名称   | - 长度在1～63个字符之间。  - 由字母、数字或下划线组成，不能包含其他特殊字符，不能以"pg"和数字开头，不能和系统用户名称相同。系统用户包括：rdsAdmin，rdsMetric，rdsBackup，rdsRepl，rdsProxy，rdsDdm，rdsDisaster。 - rdsAdmin：管理账户，拥有最高权限，用于查询和修改实例信息、故障排查、迁移、恢复等操作。  - rdsRepl：复制账户，用于备实例或只读实例在主实例上同步数据。  - rdsBackup：备份账户，用于后台的备份。  - rdsMetric：指标监控账户，用于watchdog采集数据库状态数据。  - rdsProxy：数据库代理账户，该账户在开通读写分离时才会自动创建，用于通过读写分离地址连接数据库时鉴权使用。  - rdsDdm：分布式数据库中间件账户。  - rdsDisaster：容灾账户，用于搭建跨Region容灾。     |
| 备份名称   | - 长度在4\~64个字符之间。  - 必须以字母开头，区分大小写，可以包含字母、数字、中划线或者下划线，不能包含其他特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 参数模板名称 | - 长度在1\~64个字符之间。  - 区分大小写，可包含字母、数字、中划线、下划线或句点，不能包含其他特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
#### 安全限制
表4安全限制 
| 限制项          | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|
| 管理员账户root权限  | 创建实例页面只提供管理员root账户，RDS for PostgreSQL为root用户在特定场景进行了提权，详见[root用户权限说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 管理员账户root的密码 | - 长度为8\~32个字符。  - 至少包含以下字符中的三种：大写字母、小写字母、数字和特殊字符 \~ ! @ # $ % \^ \* - _ = + ? ,   更多信息，请参见[重置管理员密码和root账号权限](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_reset_password.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 数据库端口        | 设置范围为2100～9500。 更多信息，请参见[修改数据库端口](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_change_database_port.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 磁盘加密         | - 购买实例时开启磁盘加密，购买成功后无法关闭，但是可以修改密钥。  - 购买实例时未开启磁盘加密，购买成功后可以开启，开启后不支持关闭。   更多信息，请参见[设置磁盘加密](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_05_0025.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 虚拟私有云        | 目前RDS实例创建完成后不支持切换虚拟私有云。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 安全组          | - 默认情况下，一个用户可以创建100个安全组。  - 默认情况下，一个安全组最多只允许拥有50条安全组规则。  - 目前一个RDS实例允许绑定多个安全组，一个安全组可以关联多个RDS实例。  - 创建实例时，可以选择多个安全组（为了更好的网络性能，建议不超过5个）。更多信息，请参见[修改实例安全组](https://support.huaweicloud.com/usermanual-rds-pg/rds_09_0026.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 系统账户         | 创建RDS for PostgreSQL数据库实例时，系统会自动为实例创建如下系统账户（用户不可使用），用于给数据库实例提供完善的后台运维管理服务。 - rdsAdmin：管理账户，拥有最高权限，用于查询和修改实例信息、故障排查、迁移、恢复等操作。  - pg_execute_server_program：允许用运行该数据库的用户执行数据库服务器上的程序来配合COPY和其他允许执行服务器端程序的函数。  - pg_read_all_settings：读取所有配置变量。  - pg_read_all_stats：读取所有的pg_stat_\*视图并且使用与扩展相关的各种统计信息。  - pg_stat_scan_tables：执行可能会在表上取得ACCESS SHARE锁的监控函数（可能会持锁很长时间）。  - pg_signal_backend：向其他后端发送信号（例如：取消查询、中止）。  - pg_read_server_files：允许使用COPY以及其他文件访问函数从服务器上该数据库可访问的任意位置读取文件。  - pg_write_server_files：允许使用COPY以及其他文件访问函数在服务器上该数据库可访问的任意位置中写入文件。  - pg_monitor：读取/执行各种监控视图和函数。这个角色是pg_read_all_settings、pg_read_all_stats以及pg_stat_scan_tables的成员。  - rdsRepl：复制账户，用于备实例或只读实例在主实例上同步数据。  - rdsBackup：备份账户，用于后台的备份。  - rdsMetric：指标监控账户，用于watchdog采集数据库状态数据。   |
| 实例参数         | 为确保云数据库RDS服务发挥出最优性能，可根据业务需求对用户创建的参数模板中的参数进行调整。 更多信息，请参见[RDS for PostgreSQL参数调优建议](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_10_0001.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
#### 实例操作限制
表5实例操作限制 
| 限制项     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|
| 实例部署    | 实例所部署的弹性云服务器，对用户都不可见，即只允许应用程序通过IP地址和端口访问数据库。                                                                                                                                                                                                                                                                                                                                                                                                              |
| 数据迁移    | 云数据库RDS for PostgreSQL提供了多种数据同步方案，可满足从RDS for PostgreSQL、自建PostgreSQL数据库、其他云PostgreSQL、自建Oracle数据库、RDS for MySQL、自建MySQL数据库、或其他云MySQL同步到云数据库RDS for PostgreSQL。 常用的数据迁移工具有：DRS、pg_dump、DAS。推荐使用DRS，DRS可以快速解决多场景下，数据库之间的数据流通问题，操作便捷、简单，仅需分钟级就能搭建完成迁移任务。通过服务化迁移，免去了传统的DBA人力成本和硬件成本，帮助您降低数据传输的成本。 更多信息，请参见[迁移方案总览](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_05_0001_03.html)。 |
| 主备复制    | RDS for PostgreSQL本身提供主备复制架构的双节点集群，无需用户手动搭建。其中主备复制架构集群的备实例不对用户开放，用户应用不可直接访问。                                                                                                                                                                                                                                                                                                                                                                              |
| CPU使用率高 | CPU使用率很高或接近100%，会导致数据读写处理缓慢、连接缓慢、删除出现报错等，从而影响业务正常运行。 解决办法请参见[排查RDS for PostgreSQL CPU使用率高的原因和解决方法](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_08_00005.html)。                                                                                                                                                                                                                                                |
| 重启实例    | 无法通过命令行重启，必须通过云数据库RDS服务的管理控制台操作重启实例。                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 停止/开启实例 | - 支持对按需计费实例进行关机，通过暂时停止实例以节省费用。更多信息，请参见[停止实例](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_stop.html)。  - 在停止数据库实例后，支持手动重新开启实例。                                                                                                                                                              |
| 查看备份    | 下载手动和自动备份文件，用于本地存储备份。支持使用OBS Browser+下载、直接浏览器下载、按地址下载备份文件。 更多信息，请参见[下载全量备份文件](https://support.huaweicloud.com/usermanual-rds-pg/rds_09_0031.html)。                                                                                                                                                                                                                                                                          |
| 日志管理    | RDS for PostgreSQL默认开启日志，不支持关闭。                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 回收站管理   | 支持将退订后的包周期实例和删除的按需实例，加入回收站管理。通过数据库回收站中重建实例功能，可以恢复1\~7天内删除的实例。                                                                                                                                                                                                                                                                                                                                                                                             |
   
 #### root用户权限说明
RDS for PostgreSQL开放了root用户权限。为了便于用户使用RDS for PostgreSQL并保证在无操作风险的前提下，为root用户在特定场景进行了提权。
**各个版本root** **用户提权情况见下表。**
表6root用户权限说明 
| 版本          | 是否提权 | 提权起始版本 |
|:---|:---|:---|
| pgcore9     | 否    | 不涉及    |
| pgcore10    | 否    | 不涉及    |
| pgcore11    | 是    | 11.11  |
| pgcore12    | 是    | 12.6   |
| pgcore13    | 是    | 13.2   |
| pgcore14    | 是    | 14.4   |
| pgcore15    | 是    | 15.4   |
| pgcore16    | 是    | 16.2   |
| pgcore17及以上 | 是    | 不涉及    |
   
**root** **提权涉及以下场景：**
- 创建事件触发器
- 创建包装器
- 创建逻辑复制-发布
- 创建逻辑复制-订阅
- 查询和维护复制源
- 创建replication用户
- 创建全文索引模板以及Parser
- 对系统表执行vacuum
- 对系统表执行analyze
- 创建插件
- 授予用户某个对象的权限
 
