通过 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 灵活服务器设置只读副本之前,请确保将主服务器配置为满足必要的先决条件。 主服务器上的特定设置可能会影响创建副本的能力。

存储自动增长:主服务器及其只读副本上的存储自动增长设置必须遵守特定准则,以确保一致性并防止复制中断。 有关详细规则和设置,请参阅存储自动增长

  1. Azure 门户中,选择要用于副本的 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在“概述”对话框中,记下 PostgreSQL 版本(例如 15.4)。 此外,请注意主服务器部署到的区域。

    查看主要设置的屏幕截图。

  3. 在服务器边栏的“设置”下,选择“计算 + 存储”

  4. 查看并记下以下设置:

    • 计算层、处理器、大小(例如 Standard_D4ds_v4)。

    • 存储

      • 存储大小(例如 128GB
      • 自动增长
    • 高可用性

      • 已弃用/已禁用
      • 可用性区域设置
    • 备份设置

      • 保留期
      • 冗余选项
  5. 在“设置”下选择“网络” 。

  6. 查看网络设置。

    服务器设置的屏幕截图。

创建只读副本

若要创建只读副本,请遵循以下步骤:

  1. 选择要用作主服务器的现有 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在服务器边栏中的“设置”下,选择“复制”。

  3. 选择“创建副本”

    创建副本操作的屏幕截图。

  4. 在“基本信息”窗体中输入以下信息。

    显示输入基本信息的屏幕截图。

  5. 选择“审阅 + 创建”以确认创建该副本,或者如果要添加、删除或修改任何防火墙规则,请选择“下一步: 网络”

    修改防火墙规则操作的屏幕截图。

  6. 将其余字段保留默认值,然后选择页面底部的“查看 + 创建”按钮,或者转到下一个窗体以添加标记或更改数据加密方法。

  7. 查看最终确认窗口中的信息。 准备就绪后,选择“创建”。 将创建新部署。

    查看最终确认窗口中的信息的屏幕截图。

  8. 在部署期间,你将看到主服务器处于 Updating 状态。

    主要副本进入更新状态的屏幕截图。 创建只读副本后,可以在“复制”窗口中查看它

    在复制窗口中查看新副本的屏幕截图。

  • 设置副本服务器名称。

    提示

    使用资源命名约定是云采用框架 (CAF) 的最佳做法,它会支持你轻松确定要连接到或管理的实例,以及实例的驻留位置。

  • 选择与主服务器不同的位置,但请注意,可以选择同一区域。

    提示

    若要详细了解可以在哪些区域中创建副本,请访问只读副本概念文章

  • 将计算和存储设置为从主服务器记录的内容。 如果显示的计算不匹配,请选择“配置服务器”并选择相应的一个

    注意

    如果选择的计算大小小于主服务器,则部署将失败。 另请注意,计算大小可能在其他区域中不可用。

    选择计算大小的屏幕截图。

重要

查看“只读副本”概述的注意事项部分

为了避免在提升副本期间出现问题,请先更改副本上的以下服务器参数,然后再在主服务器上应用它们:max_connectionsmax_prepared_transactionsmax_locks_per_transactionmax_wal_sendersmax_worker_processes

将副本提升到独立服务器

还可以中断副本的复制,以将其设为它的独立服务器,而不是切换到副本。

  1. Azure 门户中,选择 Azure Database for PostgreSQL 灵活服务器主服务器。

  2. 在服务器边栏中服务器菜单上的“设置”下,选择“复制”

  3. 在“服务器”下,选择要提升为独立服务器的副本的“提升”图标

    演示如何选择提升副本 2 的屏幕截图。

  4. 选择“提升”,该过程将开始。 完成后,服务器不再是主服务器的副本。

注意

将副本提升到独立服务器后,将无法将其添加回复制集。


删除副本

删除只读副本的方法与删除独立 Azure Database for PostgreSQL 灵活服务器实例的方法类似。

  1. 在 Azure 门户中,打开只读副本的“概述”页。 选择“删除”。

    副本“概述”页的屏幕截图,在其中选择删除副本。

也可以在“复制”窗口中遵循以下步骤删除只读副本:

  1. 在 Azure 门户中,选择主 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在服务器菜单中的“设置”下,选择“复制”。

  3. 选择要删除的只读副本,然后选择省略号。 选择“删除”。

    选择要删除的副本的屏幕截图。

  4. 确认“删除”操作。

删除主服务器

只有在删除所有只读副本后,才能删除主服务器。 若要删除副本,请按照删除副本部分中的说明操作,然后继续执行提供的步骤。

若要在 Azure 门户中删除服务器,请遵循以下步骤:

  1. 在 Azure 门户中,选择主 Azure Database for PostgreSQL 灵活服务器实例。

  2. 打开服务器的“概述”页并选择“删除”。

    服务器“概述”页的屏幕截图,在其中选择删除主服务器。

  3. 输入要删除的主服务器的名称。 选择“删除”以确认删除主服务器

    确认删除主服务器的屏幕截图。

监视副本

可以使用两个指标来监视只读副本。

物理复制最大滞后时间

仅在主服务器上可用。

“物理复制最大滞后”指标显示主服务器与滞后最大的副本之间的滞后(以字节为单位)

  1. 在 Azure 门户中,选择主服务器。

  2. 选择“指标”。 在“指标”窗口中,选择“物理复制最大滞后时间”。

    “指标”页的屏幕截图,其中显示了“物理复制最大滞后时间”指标。

  3. 对于“聚合”,请选择“最大”。

“只读副本滞后时间”指标

“只读副本滞后时间”指标显示自从在副本上最后一次执行重放事务以来所经历的时间。 如果主服务器上未发生任何事务,则该指标会反映此滞后时间。 例如,如果主服务器上未发生任何事务,并且最后一个事务是在 5 秒前重放的,则只读副本滞后将显示 5 秒延迟。

  1. 在 Azure 门户中,选择只读副本。

  2. 选择“指标”。 在“指标”窗口中,选择“只读副本滞后时间”。

    “指标”页的屏幕截图,其中显示了“只读副本滞后时间”指标。

  3. 对于“聚合”,请选择“最大”。