更新时间:2025-10-27 GMT+08:00

约束与限制

RDS for PostgreSQL在使用上有一些固定限制,用来提高实例的稳定性和安全性。

规格与性能限制

表1 规格说明

资源类型

规格

说明

存储空间

  • SSD云盘:40GB~4000GB
  • 极速型SSD:40GB~4000GB

-

最大连接数

取决于“max_connections”参数的值。

更多信息,请参见RDS数据库实例支持的最大数据连接数是多少

IOPS

  • SSD云盘:最大50000
  • 极速型SSD:最大128000

SSD云盘和极速型SSD支持的IOPS取决于云硬盘(Elastic Volume Service,简称EVS)的IO性能,具体请参见《云硬盘产品介绍》中“磁盘类型及性能介绍”中“超高IO”和“极速型SSD”的内容。

配额

表2 配额

资源类型

限制

说明

只读实例

1个实例最多创建5个只读实例。

更多信息,请参见只读实例简介

标签

1个实例最多支持20个标签配额。

更多信息,请参见标签

免费备份空间

RDS提供了和实例磁盘大小相同的部分免费存储空间,用于存放您的备份数据。

免费的存储空间是在收取了数据盘的存储空间费用后赠送的,更多信息,请参见RDS的备份是如何收费的

自动备份保留天数

默认为7天,可设置范围为1~732天。

更多信息,请参见设置同区域备份策略

日志查询

  • 错误日志明细:2000条
  • 慢日志明细:2000条

更多信息,请参见日志管理

命名限制

表3 命名限制

限制项

说明

实例名称

  • 长度在4个到64个字符之间。
  • 必须以字母开头,区分大小写,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。

数据库名称

  • 长度在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账号权限

数据库端口

设置范围为2100~9500。

更多信息,请参见修改数据库端口

磁盘加密

购买磁盘加密后,在实例创建成功后不可修改磁盘加密状态,且无法更改密钥。

更多信息,请参见服务端加密

虚拟私有云

目前RDS实例创建完成后不支持切换虚拟私有云。

安全组

  • 默认情况下,一个用户可以创建100个安全组。
  • 默认情况下,一个安全组最多只允许拥有50条安全组规则。
  • 目前一个RDS实例允许绑定多个安全组,一个安全组可以关联多个RDS实例。
  • 创建实例时,可以选择多个安全组(为了更好的网络性能,建议不超过5个)。更多信息,请参见修改实例安全组

系统账户

创建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参数调优建议

实例操作限制

表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人力成本和硬件成本,帮助您降低数据传输的成本。

更多信息,请参见迁移方案总览

主备复制

RDS for PostgreSQL本身提供主备复制架构的双节点集群,无需用户手动搭建。其中主备复制架构集群的备实例不对用户开放,用户应用不可直接访问。

CPU使用率高

CPU使用率很高或接近100%,会导致数据读写处理缓慢、连接缓慢、删除出现报错等,从而影响业务正常运行。

解决办法请参见排查RDS for PostgreSQL CPU使用率高的原因和解决方法

重启实例

无法通过命令行重启,必须通过云数据库RDS服务的管理控制台操作重启实例。

停止/开启实例

  • 支持对按需计费实例进行关机,通过暂时停止实例以节省费用。更多信息,请参见停止实例
  • 在停止数据库实例后,支持手动重新开启实例。

查看备份

下载手动和自动备份文件,用于本地存储备份。支持使用OBS Browser+下载、直接浏览器下载、按地址下载备份文件。

更多信息,请参见下载全量备份文件

日志管理

RDS for PostgreSQL默认开启日志,不支持关闭。

回收站管理

支持将退订后的包年包月实例和删除的按需实例,加入回收站管理。通过数据库回收站中重建实例功能,可以恢复1~7天内删除的实例。

root用户权限说明

RDS for PostgreSQL开放了root用户权限。为了便于用户使用RDS for PostgreSQL并保证在无操作风险的前提下,为root用户在特定场景进行了提权。

各个版本root用户提权情况见下表。

表6 root用户权限说明

版本

是否提权

提权起始版本

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
  • 创建插件
  • 授予用户某个对象的权限