为保障云上数据库服务的整体稳定性与性能,PolarDB PostgreSQL版(兼容Oracle)在资源使用和功能操作上设定了特定限制。本文档旨在帮助您了解并遵循这些限制,以便在应用设计和数据库运维中进行合理规划,从而避免因超出限制而引发的运行异常。
本产品的限制主要包括PolarDB在云上环境中特有的限制,以及其继承自PostgreSQL内核的通用限制。
PolarDB限制
以下限制为PolarDB PostgreSQL版(兼容Oracle)版为保障多租户环境下的稳定性、安全性与资源隔离而设定的特有规则。
文件数量上限
PolarDB PostgreSQL版(兼容Oracle)对单个集群可创建的文件总数设有上限,此上限与集群的节点规格直接相关。当文件数量达到上限时,您将无法创建新的数据表或索引,并会收到could not create file
错误提示。
文件构成:文件总数包括用户表文件、数据库系统表文件、索引文件以及日志文件等。通常,一个普通的数据表(非分区表)会占用3个文件(数据文件、FSM文件、VM文件)。若该表包含索引,则每个索引会额外占用1个文件。
解决方案:若达到文件数量上限,您可以通过删除不再使用的表或索引来释放资源,或通过来提升上限。
各规格上限详情:
节点规格
文件个数上限
polar.o.x4.medium
1048576
polar.o.x4.large
2097152
polar.o.x4.xlarge
2097152
polar.o.x8.xlarge
4194304
polar.o.x8.2xlarge
8388608
polar.o.x8.4xlarge
12582912
polar.o.x8.12xlarge
20971520
功能与权限限制
操作项 | 使用约束 | 说明 |
数据库权限 | 不提供 | 作为替代,系统提供了 |
PostgreSQL限制
作为基于PostgreSQL的云数据库,PolarDB同样遵循PostgreSQL内核关于数据库对象的内在限制。下表整合了PostgreSQL 14至17版本中稳定存在的通用核心限制,在进行数据库设计时需要重点关注。
限制对象 | 限制值 | 说明 |
数据库大小 | 500 TB | 默认最高500 TB存储空间,实际容量受限制与您的集群规格。 |
单表最大尺寸 | 32 TB | 此为基于默认8KB数据块( |
单表最大列数 | 1,600 | 理论上限为1600,但实际可用列数取决于所有列的数据类型总和。由于一行数据(不含TOAST值)不能超过一个数据页(约8KB),因此使用 |
单字段最大尺寸 | 1 GB | 适用于 |
标识符长度 | 63 字节 | 数据库对象(如表、列名)的名称上限。超过部分将被静默截断,可能导致非预期行为。 |
单表最大索引数 | 无限制 | 理论上没有上限,实际可创建的索引数量受限于存储空间、文件数量上限和系统资源。 |
索引列数 | 32 | 单个索引中可以包含的列数上限。 |
分区键列数 | 32 | 创建分区表时,分区键可以包含的列数上限。 |
函数参数个数 | 100 | 自定义函数的参数数量上限。 |
查询参数个数 | 65,535 | 在单个查询中可以使用的参数标记(如 |