RDS PostgreSQL大版本升级

更新时间: 2025-07-08 09:56:35

随着PostgreSQL社区对低版本(如9.4、10等)实例的停止维护,继续使用低版本实例将存在风险,如果您需要将低版本的RDS PostgreSQL实例升级到更高版本,或者希望使用高版本的新特性,建议您进行大版本升级操作。

方案简介

PostgreSQL社区定期发布大版本,带来功能和性能提升。较低版本将逐渐不再受支持,存在性能和安全风险。为了让您享受新版本的提升,同时降低升级风险,RDS PostgreSQL支持大版本升级功能。

RDS PostgreSQL的大版本升级功能可以在升级后保留原实例的设置,例如,白名单、参数设置、插件(新版本不支持的插件和参数除外)。此外,加密RDS PostgreSQL实例升级大版本后仍为加密实例,且加密密钥将保持不变。

升级方案

本地升级

蓝绿部署

零停机

使用DTS迁移数据

割接

不割接

适用场景

期望升级后的实例与原实例一致。并可以接受升级期间实例只读。

期望保留原实例,并可以接受升级期间实例只读。

  • 升级演练。

  • 应用双跑。

业务不接受长时间停机。

  • 业务不接受长时间停机。

  • 实例中数据库数量不多。

实现原理

使用pg_upgrade将原实例升级到目标版本。同时,保留所有元信息。

恢复到一个新实例,并使用pg_upgrade将其升级至目标版本。同时,自动切换原连接地址到新实例。

恢复到一个新实例,并使用pg_upgrade将其升级至目标版本。

使用pg_upgrade将原实例升级到目标版本。同时,通过原生逻辑复制进行增量更新。

手动创建新RDS PostgreSQL实例,并使用异步逻辑复制进行数据迁移。

方案优点

原实例配置和账单信息完全保留。

  • 自动切换连接地址的能力。

  • 可基于原实例进行回滚。

提供独立环境进行升级验证,对原实例无影响。

  • 支持切换前验证高版本实例。

  • 支持主动切换。

  • 支持带只读实例升级。

  • 原实例配置和账单信息完全保留。

  • 产品级解决方案。

  • 具备数据校验能力。

方案缺点

不支持基于旧实例的回滚。

不继承原实例的账单信息。

无。

  • 缺乏数据校验能力和反向数据链路。

  • 逻辑复制存在多项限制,例如表必须包含主键。

  • Sequence对象的数量影响切换所需的时间。

  • 一个数据库一个迁移任务。

  • 需手动切换连接地址。

原实例只读时间

通常为分钟级。

通常为分钟级。

无。

通常为秒级。

通常为秒级。

费用

无升级费用。

新建实例按量付费。

新建实例按量付费。

无升级费用。

  • 新建RDS实例的费用。

  • DTS实例费用。

重要

对于本地升级模式,如果在升级过程中实例未达推荐规格,系统将自动尝试使用推荐规格进行升级。这将导致分钟级的只读状态,并额外出现一次秒级闪断。建议升级前,处理大版本升级检查报告中关于实例规格的告警。

大版本升级

方式一:通过本地升级模式升级大版本

方式二:通过蓝绿部署模式升级大版本

方式三:通过零停机模式升级大版本

方式四:通过DTS迁移数据的方式升级

如果通过以上三种方式无法升级,或者期望升级时进行数据校验,您可以通过DTS迁移数据的方式进行升级。

  1. 创建新实例

  2. 数据迁移至新实例

  3. 释放原实例

上一篇: 升级版本 下一篇: 通过本地升级模式升级大版本
阿里云首页 云数据库 RDS 相关技术圈