你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Database for PostgreSQL 中的迁移服务

适用于:Azure Database for PostgreSQL 灵活服务器

Azure Database for PostgreSQL 中的迁移服务简化了将 PostgreSQL 数据库迁移到 Azure 的过程,支持从 Azure Database for PostgreSQL 单一服务器、AWS RDS for PostgreSQL、本地服务器和 Azure 虚拟机 (VMs) 进行迁移。 迁移服务旨在帮助你轻松、自信地迁移到 Azure Database for PostgreSQL 灵活服务器。

使用迁移服务的一些优点包括:

  • 托管迁移服务。
  • 支持架构和数据迁移。
  • 没有复杂的设置。
  • 使用基于门户/cli 的迁移体验非常简单。
  • 在可以处理的数据库大小方面没有限制。

下图直观地表示了可使用 Azure Database for PostgreSQL 中的迁移服务进行迁移的各种 PostgreSQL 源。 它强调了源环境的多样性,其中包括本地数据库、虚拟机和云托管实例,这些都可以无缝转换到 Azure Database for PostgreSQL。

不同 PostgreSQL 源的屏幕截图。

下面是迁移过程的概述,特别是详细介绍了从 Azure Database for PostgreSQL 单一服务器迁移到 Azure Database for PostgreSQL 灵活服务器所涉及的步骤。 此图说明了成功地转换到 Azure Database for PostgreSQL 灵活服务器的迁移工作流以及迁移的关键阶段。

此图显示了如何从单一服务器迁移到灵活服务器。

为什么选择灵活服务器?

由 PostgreSQL 社区版提供支持的 Azure Database for PostgreSQL 在此部署模式下可用:灵活服务器是 Azure 中的下一代托管 PostgreSQL 服务,可提供极大的数据库灵活性和内置的成本优化,并具有优于同类产品的多个优势。

  • 出色性能 - 灵活服务器在最适合运行 PostgreSQL 引擎的 Linux VM 上运行。

  • 成本节省 – 灵活服务器允许停止和启动按需服务器以降低 TCO。 计算层计费会立即停止,让你可以在开发和测试期间以及针对限时可预测生产工作负载节省大量成本。

  • 支持新的 PG 版本 - 灵活服务器支持从版本 11 开始的所有主要 PostgreSQL 版本。

  • 最低的延迟 – 你可以将灵活服务器与应用程序服务器共置在同一可用性区域,以尽量降低延迟

  • 连接池 - 灵活服务器具有一个使用 pgBouncer 的内置连接池机制,能够以较低开销支持数千个活动连接

  • 服务器参数 - 灵活服务器提供了一组丰富的服务器参数用于进行配置和优化。

  • 自定义维护时段 - 你可以将灵活服务器的维护时段安排在特定的星期日期和时间

  • 高可用性 - 灵活服务器通过配置与主服务器同步的温备用服务器,来支持同一可用性区域内和跨可用性区域的高可用性

  • 安全 - 灵活服务器提供多个信息保护层和加密来保护数据。

  • 矢量搜索 + Azure AI 扩展 - 通过将矢量搜索和 PostgreSQL 的 Azure AI 扩展进行集成,用户可以执行高级搜索操作并直接在数据库中利用 AI 驱动型见解,进一步增强查询功能和应用程序智能。

如何迁移到 Azure Database for PostgreSQL 灵活服务器?

可以考虑用于从源 PostgreSQL 实例迁移到灵活服务器的选项包括:

脱机迁移 – 在脱机迁移中,连接到源实例的所有应用程序都会停止运行,数据库将复制到灵活服务器。

联机迁移 - 在联机迁移中,在数据库被复制到灵活服务器时,连接到源实例的应用程序不会停止运行。 系统将通过复制来跟进数据库的初始副本,从而使灵活服务器与源实例保持同步。 在灵活服务器与源实例完全同步后,将执行直接转换,从而尽可能减少停机时间。

下表概述了脱机和联机选项。

选项 优点 缺点 推荐的使用场景
离线 - 容易执行,不太复杂。
- 失败的可能性很低。
- 对可以处理的数据库对象没有限制
会造成应用程序关闭。 - 最适合简单性和高成功率至关重要的场景。
- 非常适合数据库可以脱机而不会对业务运营产生重大影响的场景。
- 适用于可在计划内维护时段内完成迁移过程时的数据库。
联机 - 应用程序关闭时间非常短。
- 非常适合大型数据库和对停机时间有限制要求的客户。
- 联机迁移中使用的复制具有多个限制(例如,所有表中所需的主键)。
- 与脱机迁移相比,执行难度大且复杂得多。
- 由于迁移的复杂性,失败的可能性更高。
- 如果迁移长时间运行,则会影响源实例的存储和计算。 在迁移过程中需要密切监视影响。
- 最适合连续性至关重要且停机时间必须保持在绝对最低水平的企业。
- 建议用于具有以下要求的数据库:迁移过程不会中断正在进行的操作。

下表列出了迁移服务支持的各种源。

PostgreSQL 源类型 脱机迁移 联机迁移
Azure Database for PostgreSQL 单一服务器 支持 支持
AWS RDS for PostgreSQL 支持 已在未来版本中规划
本地 支持 已在未来版本中规划
Azure VM 支持 已在未来版本中规划

迁移设置的屏幕截图,显示了不同的源。

Azure Database for PostgreSQL 中的迁移服务相较于 Azure DMS(经典版)的优势

下面是使用此服务进行 PostgreSQL 迁移的主要优势:

  • 完全托管服务:Azure Database for PostgreSQL 中的迁移服务是一项完全托管服务,这意味着将由我们来处理迁移过程的复杂性。
  • 全面迁移:支持架构和数据迁移,从而确保将整个数据库环境完整准确地传输到 Azure
  • 易于设置:本身为用户友好型,消除了通常会成为启动迁移项目的障碍的复杂设置过程。
  • 无数据大小约束:该服务能够处理任何大小的数据库,超出了 Azure DMS(经典版)的 1TB 数据迁移限制,因此适用于所有类型的数据库迁移。
  • 解决 DMS(经典版)限制:该迁移服务解决了 Azure DMS(经典版)遇到的许多问题和限制,从而实现了更可靠的迁移过程。
  • 界面选项:用户可以选择基于门户的界面以获得直观的体验,也可以选择用于实现自动化和脚本编写的命令行接口 (CLI),因此该服务适应各种用户偏好。

开始使用

通过以下任一方法开始使用迁移服务:

其他信息

迁移服务是一种托管解决方案,我们在其中使用了名为 pgcopydb 的二进制文件,该二进制文件可提供将数据库从源 PostgreSQL 实例复制到目标的快速高效方法。