通过 Azure 门户创建和管理 Azure Database for PostgreSQL(单一服务器)中的只读副本

适用于:Azure Database for PostgreSQL 单一服务器

重要

Azure Database for PostgreSQL - 单一服务器即将停用。 强烈建议升级到 Azure Database for PostgreSQL - 灵活服务器。 有关迁移到 Azure Database for PostgreSQL - 灵活服务器的详细信息,请参阅 Azure Database for PostgreSQL 单一服务器会发生什么情况?

本文介绍如何使用 Azure 门户在 Azure Database for PostgreSQL 中创建和管理只读副本。 若要详细了解只读副本,请参阅概述

先决条件

将用作主服务器的 Azure Database for PostgreSQL 服务器

Azure 复制支持

只读副本逻辑解码都依赖 Postgres 预写日志 (WAL) 来获取信息。 这两个功能需要来自 Postgres 的不同级别的日志记录。 逻辑解码需要的日志记录的级别比只读副本需要的更高。

若要配置正确的日志记录级别,请使用 Azure 复制支持参数。 Azure 复制支持有三个设置选项:

  • 关闭 - 在 WAL 中包含最少的信息。 大多数 Azure Database for PostgreSQL 服务器上都不提供此设置。
  • 副本 - 比“关闭”详细。 这是运行只读副本所需的最低日志记录级别。 此设置是大多数服务器上的默认设置。
  • 逻辑 - 比“副本”详细。 这是运行逻辑解码所需的最低日志记录级别。 使用此设置时,只读副本也可以运行。

注意

为持久的大量写入密集型主工作负荷部署只读副本时,复制滞后时间可能会持续增长,并且可能永远无法赶上主工作负荷。 这还可能会增加主服务器上的存储使用量,因为 WAL 文件在副本收到它们之前不会被删除。

准备主服务器

  1. 在 Azure 门户中,选择用作主服务器的现有 Azure Database for PostgreSQL 服务器。

  2. 在服务器菜单中,选择“复制”。 如果将 Azure 复制支持至少设置为“副本”,则可创建只读副本。

  3. 如果没有将 Azure 复制支持至少设置为“副本”,请进行此设置。 选择“保存” 。

    Azure Database for PostgreSQL - Replication - Set replica and save

  4. 通过选择“是”,重启服务器以应用更改。

    Azure Database for PostgreSQL - Replication - Confirm restart

  5. 操作完成后,会收到两个 Azure 门户通知。 一个通知是关于更新服务器参数的。 另一个通知是关于随后立即进行的服务器重启的。

    Success notifications

  6. 刷新 Azure 门户页,更新“复制”工具栏。 现在可以为此服务器创建只读副本。

创建只读副本

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

  1. 选择将用作主服务器的现有 Azure Database for PostgreSQL 服务器。

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

  3. 选择“添加副本”。

    Add a replica

  4. 输入只读副本的名称。

    Name the replica

  5. 选择副本的位置。 默认位置与主服务器的位置相同。

    Select a location

    注意

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

  6. 选择“确定”以确认创建该副本。

创建只读副本后,可以在“复制”窗口中查看它:

View the new replica in the Replication window

重要

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

将主服务器设置更新为新值之前,请将副本设置更新为一个相等的或更大的值。 此操作可帮助副本与主服务器发生的任何更改保持同步。

停止复制

可以停止主服务器与只读副本之间的复制。

重要

停止复制到主服务器和只读副本后,无法撤消该操作。 只读副本将成为支持读取和写入的独立服务器。 独立服务器不能再次成为副本。

若要在 Azure 门户中停止主服务器与只读副本之间的复制,请执行以下步骤:

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

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

  3. 选择要停止复制的副本服务器。

    Select the replica

  4. 选择“停止复制”。

    Select stop replication

  5. 选择“确定”以停止复制。

    Confirm to stop replication

删除主服务器

若要删除主服务器,请执行删除 Azure Database for PostgreSQL 独立服务器的相同步骤。

重要

删除主服务器后,将停止复制到所有只读副本的操作。 只读副本将成为支持读取和写入的独立服务器。

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

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

  2. 此时会打开该服务器的“概述”页。 选择“删除”。

    On the server Overview page, select to delete the primary server

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

    Confirm to delete the primary server

删除副本

可以像删除主服务器一样删除只读副本。

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

    On the replica Overview page, select to delete the replica

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

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

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

  3. 选择要删除的只读副本。

    Select the replica to delete

  4. 选择“删除副本”。

    Select delete replica

  5. 输入要删除的副本的名称。 选择“删除”以确认删除该副本。

    Confirm to delete te replica

监视副本

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

“副本的最大滞后时间”指标

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

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

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

    Monitor the max lag across replicas

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

“副本滞后时间”指标

“副本滞后时间”指标显示自从在副本上最后一次执行重放事务以来所经历的时间。 如果主服务器上未发生任何事务,则该指标会反映此滞后时间。

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

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

    Monitor the replica lag

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

后续步骤