你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cosmos DB for PostgreSQL 的限制和局限性
适用对象:PostgreSQL 的 Azure Cosmos DB (由 PostgreSQL 的 Citus 数据库扩展提供支持)
以下部分介绍 Azure Cosmos DB for PostgreSQL 服务中的容量和功能限制。
命名
群集名称
群集名称不得超过 40 个字符。
网络
最大连接数
每个 PostgreSQL 连接(即使是空闲连接)都至少使用 10 MB 的内存,因此,必须限制同步连接的数量。 我们选择使用以下限制来保证节点正常运行:
- 每个节点的最大连接数
- 0-3 个 vCore:300
- 4-15 个 vCore:500
- 16 个以上的 vCore:1000
- 启用了可突发计算的每个节点的最大连接数
- 1 个可突发 vCore:20
- 2 个可突发 vCore:40
上述连接限制适用于用户连接(max_connections
减去 superuser_reserved_connections
)。 我们会保留额外的连接用于管理和恢复。
这些限制对工作器节点和协调器节点都适用。 超出这些限制后,连接尝试会失败并提示错误。
连接池
可以使用连接池进一步缩放连接。 Azure Cosmos DB for PostgreSQL 提供一种托管 pgBouncer 连接池程序,配置为可同时具有最多 2000 个客户端连接。
存储
存储缩放
协调器和工作器节点上的存储可以纵向扩展(增加),但无法纵向缩减(减少)。
存储大小
多节点配置中的协调器和工作器节点上最多支持 32 TiB 存储。 单节点配置最多支持 2 TiB 的存储。 请参阅可用存储选项和 IOPS 计算,了解各种节点和群集大小。
用于存储加密的客户管理的密钥
对 Azure Cosmos DB For PostgreSQL 群集使用客户管理的密钥 (CMK) 进行数据加密具有以下限制。
- CMK 加密只能在创建新的 Azure Cosmos DB for PostgreSQL 群集期间启用。
- 专用访问(专用链接)不支持 CMK 加密。
计算
订阅 vCore 限制
Azure 强制实施每个区域每个订阅的 vCore 配额。 有三个可独立调整的配额:协调器节点的 vCore、工作器节点的 vCore 和可突发计算的 vCore。 默认配额应足以进行 Azure Cosmos DB for PostgreSQL 试验并运行中小型生产。 如果订阅中的某个区域确实需要更多 vCore,请参阅如何调整计算配额。
可突发计算
在启用了可突发计算的 Azure Cosmos DB for PostgreSQL 群集中,当前不支持以下功能:
- 加速网络
- 本地缓存
- PostgreSQL 和 Citus 版本升级
- PostgreSQL 11 支持
- 只读副本
- 高可用性
- 异地冗余备份
- azure_storage 扩展
身份验证
Microsoft Entra ID 身份验证
如果在 Azure Cosmos DB for PostgreSQL 群集上启用了 Microsoft Entra ID,则目前不支持以下功能:
- PostgreSQL 11、12 和 13
- Microsoft Entra 组
安全性
MD5 哈希在 Azure Cosmos DB for PostgreSQL 中处于禁用状态,会影响以下方面:
- 本机 Postgres 密码仅使用 SCRAM-SHA-256 方法进行哈希处理。
- pgcrypto 扩展:MD5 不可用作哈希方法。
- uuid-ossp 扩展:MD5 不可用作哈希方法。
- 内置 Postgres 函数。 例如,SELECT md5(‘your_string’);
- 自定义函数,例如使用 MD5 哈希的 PL/pgSQL 中的自定义函数。
数据库创建
Azure 门户提供的凭据用于连接到每个群集中的一个数据库。 目前不允许创建其他数据库,CREATE DATABASE 命令会失败并提示错误。
默认情况下,会调用此数据库 citus
。 Azure Cosmos DB for PostgreSQL 仅在群集预配时支持自定义数据库名称。
备份和还原
异地冗余备份和还原
- 只能在创建群集期间启用异地冗余备份。
- 可以在执行群集还原时启用异地冗余备份。
- 创建群集后,无法禁用异地冗余备份。
- 无法在具有可突发计算的单节点群集上启用异地冗余备份。
- 启用了异地冗余备份的群集不支持客户管理的密钥 (CMK)。
- 启用了异地冗余备份的 Azure Cosmos DB for PostgreSQL 群集不能在存储异地冗余备份的区域中具有群集只读副本。