通过 Azure 门户、CLI 或 REST API 在 Azure Database for PostgreSQL 灵活服务器中创建和管理只读副本
适用于:Azure Database for PostgreSQL 灵活服务器
本文介绍如何通过 Azure 门户、CLI 和 REST API 在 Azure Database for PostgreSQL 灵活服务器中创建和管理只读副本。 若要详细了解只读副本,请参阅概述。
先决条件
作为主服务器的 Azure Database for PostgreSQL 灵活服务器实例。
注意
在为持久性大量写入密集型主工作负载部署只读副本时,复制滞后时间可能会持续增加,并且可能永远无法赶上主工作负载。 这还可能增加主工作负载的存储使用量,因为只有在副本收到 WAL 文件后才会将该文件删除。
查看主服务器设置
在为 Azure Database for PostgreSQL 灵活服务器设置只读副本之前,请确保将主服务器配置为满足必要的先决条件。 主服务器上的特定设置可能会影响创建副本的能力。
存储自动增长:主服务器及其只读副本上的存储自动增长设置必须遵守特定准则,以确保一致性并防止复制中断。 有关详细规则和设置,请参阅存储自动增长。
在 Azure 门户中,选择要用于副本的 Azure Database for PostgreSQL 灵活服务器实例。
在“概述”对话框中,记下 PostgreSQL 版本(例如
15.4
)。 此外,请注意主服务器部署到的区域。在服务器边栏的“设置”下,选择“计算 + 存储”。
查看并记下以下设置:
计算层、处理器、大小(例如
Standard_D4ds_v4
)。存储
- 存储大小(例如
128GB
) - 自动增长
- 存储大小(例如
高可用性
- 已弃用/已禁用
- 可用性区域设置
备份设置
- 保留期
- 冗余选项
在“设置”下选择“网络” 。
查看网络设置。
创建只读副本
若要创建只读副本,请遵循以下步骤:
选择要用作主服务器的现有 Azure Database for PostgreSQL 灵活服务器实例。
在服务器边栏中的“设置”下,选择“复制”。
选择“创建副本”。
在“基本信息”窗体中输入以下信息。
选择“审阅 + 创建”以确认创建该副本,或者如果要添加、删除或修改任何防火墙规则,请选择“下一步: 网络”。
将其余字段保留默认值,然后选择页面底部的“查看 + 创建”按钮,或者转到下一个窗体以添加标记或更改数据加密方法。
查看最终确认窗口中的信息。 准备就绪后,选择“创建”。 将创建新部署。
在部署期间,你将看到主服务器处于
Updating
状态。
设置副本服务器名称。
提示
使用资源命名约定是云采用框架 (CAF) 的最佳做法,它会支持你轻松确定要连接到或管理的实例,以及实例的驻留位置。
选择与主服务器不同的位置,但请注意,可以选择同一区域。
提示
若要详细了解可以在哪些区域中创建副本,请访问只读副本概念文章。
将计算和存储设置为从主服务器记录的内容。 如果显示的计算不匹配,请选择“配置服务器”并选择相应的一个。
注意
如果选择的计算大小小于主服务器,则部署将失败。 另请注意,计算大小可能在其他区域中不可用。
重要
为了避免在提升副本期间出现问题,请先更改副本上的以下服务器参数,然后再在主服务器上应用它们:max_connections
、max_prepared_transactions
、max_locks_per_transaction
、max_wal_senders
、max_worker_processes
。
将副本提升到独立服务器
还可以中断副本的复制,以将其设为它的独立服务器,而不是切换到副本。
在 Azure 门户中,选择 Azure Database for PostgreSQL 灵活服务器主服务器。
在服务器边栏中服务器菜单上的“设置”下,选择“复制”。
在“服务器”下,选择要提升为独立服务器的副本的“提升”图标。
选择“提升”,该过程将开始。 完成后,服务器不再是主服务器的副本。
注意
将副本提升到独立服务器后,将无法将其添加回复制集。
删除副本
删除只读副本的方法与删除独立 Azure Database for PostgreSQL 灵活服务器实例的方法类似。
在 Azure 门户中,打开只读副本的“概述”页。 选择“删除”。
也可以在“复制”窗口中遵循以下步骤删除只读副本:
删除主服务器
只有在删除所有只读副本后,才能删除主服务器。 若要删除副本,请按照删除副本部分中的说明操作,然后继续执行提供的步骤。
若要在 Azure 门户中删除服务器,请遵循以下步骤:
监视副本
可以使用两个指标来监视只读副本。
物理复制最大滞后时间
仅在主服务器上可用。
“物理复制最大滞后”指标显示主服务器与滞后最大的副本之间的滞后(以字节为单位)。
“只读副本滞后时间”指标
“只读副本滞后时间”指标显示自从在副本上最后一次执行重放事务以来所经历的时间。 如果主服务器上未发生任何事务,则该指标会反映此滞后时间。 例如,如果主服务器上未发生任何事务,并且最后一个事务是在 5 秒前重放的,则只读副本滞后将显示 5 秒延迟。