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

Azure Database for PostgreSQL 灵活服务器

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

由 PostgreSQL 社区版提供支持的 Azure Database for PostgreSQL 提供两种部署模式:

本文概述和介绍了 Azure Database for PostgreSQL 灵活服务器部署模型的核心概念。 无论你是刚入门还是想要获取最新知识,此简介视频都能让你全面了解 Azure Database for PostgreSQL 灵活服务器,帮助你熟悉其关键特性和功能。

概述

Azure Database for PostgreSQL 灵活服务器是完全托管的数据库服务,旨在针对数据库管理功能和配置设置提供更精细的控制和更大的灵活性。 该服务通常可提供更大的灵活性和基于用户要求的服务器配置自定义。 灵活服务器体系结构允许用户将数据库引擎与客户端层并置以降低延迟,并在单个可用区域内和跨多个可用区域选择高可用性。 Azure Database for PostgreSQL 灵活服务器实例提供了更好的成本优化控制,能够停止/启动服务器和可突发计算层,非常适合不需要连续的全部计算容量的工作负载。 该服务支持 PostgreSQL 的各种主要社区版。 有关支持的特定版本的详细信息,请参阅 Azure Database for PostgreSQL 灵活服务器支持的 PostgreSQL 版本。 该服务可在各种 Azure 区域中使用。

Azure Database for PostgreSQL 灵活服务器示意图 - 概述。

Azure Database for PostgreSQL 灵活服务器实例最适合

  • 需要更好的控制和自定义的应用程序开发。
  • 区域冗余高可用性。
  • 托管维护时段。

体系结构和高可用性

Azure Database for PostgreSQL 灵活服务器部署模型旨在支持单个可用性区域内以及跨多个可用性区域的高可用性。 该体系结构将计算和存储分开。 数据库引擎在 Linux 虚拟机内的容器上运行,而数据文件位于 Azure 存储上。 该存储维护数据库文件的三个本地冗余同步副本,以确保数据持续性。

如果已配置区域冗余高可用性,则该服务将在同一 Azure 区域内的可用性区域中预配并维护温备用服务器。 源服务器上的数据更改将同步复制到备用服务器,以确保没有数据丢失。 借助区域冗余高可用性,一旦触发了计划内或计划外的故障转移事件,备用服务器将立即联机,并可用于处理传入的事务。 这使服务可在支持多个可用性区域的 Azure 区域内从可用性区域故障中复原,如下图所示。

区域冗余高可用性的示意图。

有关更多详细信息,请参阅高可用性

具有托管维护时段的自动修补

该服务执行基础硬件、OS 和数据库引擎的自动修补。 修补包括安全更新和软件更新。 对于 PostgreSQL 引擎,次要版本升级包含在计划内维护版本中。 用户可以将修补计划配置为系统托管或定义自己的自定义计划。 在维护计划期间,将应用补丁,并且在修补过程中,可能需要重启服务器才能完成更新。 使用自定义计划,用户可以使修补周期可预测,并选择对业务影响最小的维护时段。 通常,作为持续集成和发布的一部分,该服务遵循每月发布计划。

自动备份

Azure Database for PostgreSQL 灵活服务器会自动创建服务器备份,并将它们存储在区域的区域冗余存储 (ZRS) 上。 备份可将服务器还原到备份保持期内的任何时间点。 默认的备份保留期为七天。 保持期可选择配置为最多 35 天。 所有备份都使用 AES 256 位加密进行加密。 有关更多详细信息,请参阅备份

几秒钟内调整性能和规模

Azure Database for PostgreSQL 灵活服务器提供三个计算层:可突发、常规用途和内存优化。 可突发层最适合用于低成本开发和没有持续计算容量的低并发工作负载。 常规用途和内存优化更适用于需要高并发性、缩放性和可预测性能的生产工作负载。 可以在一个月内花费很少的费用在小型数据库上生成第一个应用程序,然后无缝调整规模以满足解决方案的需求。

停止/启动服务器以降低 TCO

Azure Database for PostgreSQL 灵活服务器服务允许按需停止和启动服务器以降低 TCO。 服务器停止后,计算层计费会立即停止。 这使你可在开发和测试期间以及针对有时限的可预测生产工作负载实现显著成本节省。 服务器将保持停止状态七天(除非提前重启它)。

企业级安全性

Azure Database for PostgreSQL 灵活服务器使用 FIPS 140-2 验证的加密模块对静态数据进行存储加密。 数据将会加密,包括在运行查询时创建的备份和临时文件。 该服务使用包含在 Azure 存储加密中的 AES 256 位密码,并且密钥可由系统进行管理(默认)。 默认情况下,Azure Database for PostgreSQL 灵活服务器使用强制实施传输层安全性 (SSL/TLS) 加密动态数据。 该服务仅强制实施和支持 TLS 版本 1.2。

Azure Database for PostgreSQL 灵活服务器实例允许使用 Azure 虚拟网络(VNet 集成)对服务器进行完全私密的访问。 只能通过专用 IP 地址才能访问和连接 Azure 虚拟网络中的服务器。 使用 VNet 集成,公共访问遭到拒绝,使用公共终结点无法访问服务器。

监视和警报

Azure Database for PostgreSQL 灵活服务器配备了内置的性能监视和警报功能。 所有 Azure 指标的频率均为一分钟,每个指标提供 30 天的历史记录。 可针对指标配置警报。 该服务公开主机服务器指标来监视资源利用率,并允许配置慢查询日志。 使用这些工具,可快速优化工作负载并配置服务器以获得最佳性能。

内置 PgBouncer

Azure Database for PostgreSQL 灵活服务器实例具有内置 PgBouncer(一个连接池程序)。 你可以启用它,并通过使用相同主机名和端口 6432 的 PgBouncer 将应用程序连接到 Azure Database for PostgreSQL 灵活服务器实例。

Azure 区域

在 Azure 中运行工作负载的一个优点是,它可覆盖全球范围。 Azure Database for PostgreSQL 灵活服务器现已在以下 Azure 区域推出:

区域 Intel V3/V4/V5/AMD 计算 区域冗余 HA 同区域 HA 异地冗余备份
澳大利亚中部 ✔️(仅 v3/v4) ✔️ ✔️
澳大利亚中部 2* ✔️(仅 v3/v4) ✔️
澳大利亚东部 ✔️(所有 SKU) ✔️ ✔️ ✔️
澳大利亚东南部 ✔️(仅限 v3/v4/v5) ✔️ ✔️
Brazil South ✔️(仅 v3/v4) ✔️ $ ✔️ ✔️
巴西东南部* ✔️(仅 v3/v4) ✔️
加拿大中部 ✔️(所有 SKU) ✔️ ✔️ ✔️
加拿大东部 ✔️(所有 SKU) ✔️ ✔️
印度中部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
美国中部 ✔️(仅 v3/v4) ✔️ $ ✔️ ✔️
中国东部 2 ✔️(仅 v3/v4) ✔️
中国东部 3 ✔️(仅 v3/v4) ✔️ ✔️
中国北部 2 ✔️(仅 v3/v4) ✔️
中国北部 3 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
东亚 ✔️(仅限 v3/v4/v5) ✔️ ** ✔️ ✔️
美国东部 ✔️(所有 SKU) ✔️ $ ✔️ ✔️
美国东部 2 ✔️(仅 v3/v4) ✔️ $ ✔️ ✔️
法国中部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
法国南部 ✔️(仅 v3/v4) ✔️ ✔️
德国北部* ✔️(仅 v3/v4) ✔️ ✔️
德国中西部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
以色列中部 ✔️(仅 v3/v4) ✔️ ✔️
意大利北部 ✔️(仅 v3/v4) ✔️ ✔️
Japan East ✔️(仅 v3/v4) ✔️ $ ✔️ ✔️
日本西部 ✔️(仅 v3/v4) ✔️ ✔️
Jio 印度中部 ✔️(仅 V3) ✔️ ✔️
Jio 印度西部 ✔️(仅 V3) ✔️ ✔️
韩国中部 ✔️(仅限 v3/v4/v5) ✔️ $ ** ✔️ ✔️
韩国南部 ✔️(仅限 v3/v4/v5) ✔️ ✔️
墨西哥中部 ✔️(仅 v3/v4) ✔️ ✔️
美国中北部 ✔️(所有 SKU) ✔️ ✔️
北欧 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
挪威东部* ✔️(所有 SKU) ✔️ ✔️ ✔️
挪威西部 ✔️(仅 v3/v4) ✔️ ✔️
波兰中部 ✔️(仅 v3/v4) ✔️ ✔️
卡塔尔中部 ✔️(仅 v3/v4) ✔️ $ ✔️
南非北部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
南非西部* ✔️(仅 v3/v4) ✔️ ✔️
美国中南部 ✔️(仅 v3/v4) ✔️ $ ✔️ ✔️
印度南部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
东南亚 ✔️(所有 SKU) ✔️ ✔️ ✔️
西班牙中部 ✔️(仅 v3/v4) ✔️ ✔️
瑞典中部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
瑞士北部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
瑞士西部* ✔️(仅限 v3/v4/v5) ✔️ ✔️
阿联酋中部* ✔️(仅 V3) ✔️ ✔️
阿拉伯联合酋长国北部 ✔️(仅限 v3/v4/v5) ✔️ ✔️ ✔️
英国南部 ✔️(所有 SKU) ✔️ ✔️ ✔️
英国西部 ✔️(所有 SKU) ✔️ ✔️
US Gov 亚利桑那州 ✔️(仅 v3/v4) ✔️
US Gov 德克萨斯州 ✔️(仅 v3/v4) ✔️
US Gov 弗吉尼亚州 ✔️(仅 v3/v4) ✔️ ✔️ ✔️
美国中西部 ✔️(仅限 v3/v4/v5) ✔️ ✔️
西欧 ✔️(仅限 v3/v4/v5) ✔️ $ ✔️ ✔️
美国西部 ✔️(所有 SKU) ✔️ ✔️
美国西部 2 ✔️(仅 v3/v4) ✔️ $ ✔️ ✔️
美国西部 3 ✔️(所有 SKU) ✔️ ** ✔️

$ 新区域冗余高可用性部署在这些区域中暂时被阻止。 完全支持已预配的 HA 服务器。

$$ 这些区域中暂时阻止部署新服务器。 完全支持已预配的服务器。

** 现在,在这些区域中预配新服务器时,可以部署区域冗余高可用性。 在区域开始支持 AZ 之前,对于在 AZ 中部署的没有首选项(可在 Azure 门户上查看)的任何现有服务器,即使你启用区域冗余 HA,也会在主服务器所在的 AZ 中预配备用服务器(同区域 HA)。 若要启用区域冗余高可用性,请执行这些步骤

(*) 某些区域的访问受到限制,以支持特定的客户方案,例如国内/区域内灾难恢复。 只有通过创建新的支持请求进行请求时,这些区域才可用。

注意

如果你的应用程序需要区域冗余 HA,并且它在你的首选 Azure 区域中不可用,请考虑使用区域冗余 HA 可用的同一地理区域中的其他区域,例如美国东部(美国东部 2)、美国中部(美国中北部)等。

迁移

Azure Database for PostgreSQL 灵活服务器运行 PostgreSQL 的社区版本。 这样可以实现完全的应用程序兼容性,并且只需最小的重构成本就能将在 PostgreSQL 引擎上开发的现有应用程序迁移到 Azure Database for PostgreSQL 灵活服务器。

  • Azure Database for PostgreSQL 单一服务器到 Azure Database for PostgreSQL 灵活服务器迁移工具(预览版) - 此工具提供了一种更轻松地从 Azure Database for PostgreSQL 单一服务器迁移到 Azure Database for PostgreSQL 灵活服务器的功能。
  • 转储和还原 – 对于脱机迁移(在此情况下,用户可承受一定的故障时间),使用社区工具(如 pg_dump 和 pg_restore)的转储和还原可以提供最快的迁移方式。 有关详细信息,请参阅使用转储和还原进行迁移
  • Azure 数据库迁移服务 – 为了在最短的故障时间内实现向 Azure Database for PostgreSQL 灵活服务器的无缝简化迁移,可以利用 Azure 数据库迁移服务。 请参阅通过门户的 DMS通过 CLI 的 DMS。 可以从 Azure Database for PostgreSQL 单一服务器实例迁移到 Azure Database for PostgreSQL 灵活服务器。 有关详细信息,请参阅此 DMS 文章

常见问题

Azure Database for PostgreSQL 灵活服务器是否会取代 Azure Database for PostgreSQL 单一服务器?

我们继续支持 Azure Database for PostgreSQL 单一服务器,并鼓励你采用 Azure Database for PostgreSQL 灵活服务器,该服务器具有更丰富的功能(如区域可复原 HA、可预测的性能、最大控制、自定义维护时段、成本优化控制和适合企业工作负载的简化开发人员体验)。 如果我们决定停用任何服务、功能、API 或 SKU,你会提前收到包含迁移或转换路径的通知。 在此处详细了解 Microsoft 生命周期策略。

Microsoft 解决 PostgreSQL 引擎缺陷的策略是什么?

请在此处参阅 Microsoft 的当前策略。

联系人

如果你有任何关于 Azure Database for PostgreSQL 灵活服务器的问题或建议,请向 Azure Database for PostgreSQL 灵活服务器团队 (@Ask Azure DB for PostgreSQL) 发送电子邮件。

注意

此电子邮件地址并不是技术支持别名。

另外,请酌情考虑以下联系点:

与 Azure Database for PostgreSQL 产品团队分享你的建议和 bug