Amazon Aurora PostgreSQL 兼容版本 12.x 和 Amazon RDS PostgreSQL 12 将于 2025 年 2 月 28 日结束标准支持。更高版本的数据库引入了新功能,提高了操作效率和成本效益。
识别合格的数据库并及时升级至关重要。随着标准支持的结束日期临近,数据库管理员和开发人员了解影响并规划未来至关重要。本文讨论了 PostgreSQL 12 的 Aurora 和 RDS PostgreSQL 12 的标准支持结束、Amazon RDS 扩展支持、升级选项以及迁移到 PostgreSQL 16 的好处。
了解 PostgreSQL 生命周期结束
PostgreSQL 全球开发小组通常每年发布一个新版本,引入新功能和改进。同时,旧版本在大约五年的支持后达到生命周期结束(EOL)。2019 年 10 月发布的 PostgreSQL 12 计划于 2024 年 11 月达到生命周期结束。
当 PostgreSQL 版本达到生命周期结束时,它不再从社区接收更新、错误修复或安全补丁。这种缺乏支持可能会使数据库面临安全风险和性能问题,因此用户升级到更新的受支持版本至关重要。
Aurora 和 RDS PostgreSQL 标准支持结束
对于 Amazon Aurora 和 Amazon RDS PostgreSQL 的用户,版本 12 的标准支持结束日期定于 2025 年 2 月 28 日。在此日期之后,Aurora PostgreSQL 将继续为扩展支持版本发布补丁,而 RDS 将为扩展支持版本提供新的次要版本,包含错误修复和 CVE 补丁。
关键要点:
2025 年 2 月 28 日之后,您仍然可以创建 Aurora PostgreSQL LTS 12.9 和 12.20,以及 RDS PostgreSQL 12.22 数据库,它们将自动加入扩展支持。
当还原 PostgreSQL 12 数据库快照时,您可以选择禁用 RDS 扩展支持。
如果禁用了 RDS 扩展支持,数据库将被迫升级。如果升级失败,数据库将保持在扩展支持中并继续产生费用。
Amazon RDS 扩展支持
Amazon RDS 扩展支持是一项有价值的服务,适用于需要额外时间来规划和执行数据库升级的用户。此服务在标准支持日期结束后的一段时间内,继续提供安全和关键错误修复补丁。
RDS 扩展支持的好处
- 持续的安全补丁和关键错误修复
- 额外的时间来规划和执行升级
- 管理数据库版本的灵活性
需要注意的是,尽管扩展支持提供了一个安全网,但它不应被视为长期解决方案。用户应积极规划升级到更新的、完全受支持的 PostgreSQL 版本。
Aurora 或 RDS PostgreSQL 的升级选项
当涉及到升级 Aurora 或 RDS PostgreSQL 数据库时,用户有三个主要选项:
1、就地升级
- 由 RDS 管理
- 可以使用 Amazon RDS 控制台或 AWS CLI 执行
- 需要停机时间
2、Amazon RDS 蓝绿部署
- 可以使用 Amazon RDS 控制台执行
- 最小化风险和停机时间
- 在升级完成之前限制某些操作
3、非就地升级
- 通过升级数据库副本减少停机时间
- 在最终切换之前,与新版本持续复制
- 需要更多的手动步骤和规划
下图显示了上述升级选项的优缺点:

每种升级选项都有其优势和考虑因素。选择取决于停机时间容忍度、数据库大小和运营需求。
升级到 PostgreSQL 16 的好处
2023 年 9 月发布的 PostgreSQL 16 带来了显著的改进和新功能,使其成为一个有吸引力的升级目标。以下是一些关键好处:
1、性能改进
- 增强的查询规划器,支持 FULL 和 RIGHT 连接的并行化
- 窗口函数的优化执行
- COPY 命令的批量加载性能改进
- Vacuum 策略增强,减少全表冻结的需求
- 通过 SIMD 技术为 x86 和 ARM 架构加速 CPU
2、逻辑复制增强
- 双向复制
- 从备用服务器复制(仅限 RDS PostgreSQL)
- 逻辑复制性能改进
3、监控和诊断
- 引入 pg_stat_io 视图,提供详细的 I/O 指标
- pg_stat_all_tables 和 pg_stat_all_indexes 视图中的新列
- 改进的 auto_explain 可读性和查询跟踪准确性
4、安全增强
- 以安全为中心的客户端连接参数
- 支持 Kerberos 凭据委托
- 引入 require_auth 函数,用于指定可接受的认证参数
需要注意的是,作为托管数据库服务,某些功能可能不适用于 Aurora 或 RDS PostgreSQL 数据库。
规划您的升级
随着 PostgreSQL 12 生命周期结束日期的临近,开始规划您的升级策略至关重要。以下是一些需要考虑的步骤:
- 评估您当前的 PostgreSQL 12 部署,识别任何依赖项或自定义配置。
- 审查 PostgreSQL 16 中的功能和改进,了解对您特定用例的潜在好处。
- 根据您的停机时间容忍度和运营需求,选择最合适的升级方法。
- 创建测试环境以验证升级过程并识别任何潜在问题。
- 制定回滚计划,以防升级过程中出现意外问题。
- 在低流量时段安排升级,以尽量减少干扰。
- 升级后,密切监控数据库,查看是否有性能变化或问题。
下图描绘了 PostgreSQL 数据库升级的典型流程图:

结论
PostgreSQL 12 生命周期结束为数据库管理员和开发人员带来了挑战和机遇。虽然它需要仔细规划和执行升级,但也提供了利用 PostgreSQL 16 中最新功能和改进的机会。通过了解生命周期结束的影响、探索升级选项并做好充分准备,组织可以确保顺利过渡到更新的、更强大的 PostgreSQL 版本。
请记住,保持与受支持数据库版本同步不仅仅是获取新功能,这是维护数据库基础设施的安全性、性能和可靠性的一个关键方面。今天就开始规划您的 PostgreSQL 升级,确保您的数据库保持受支持并为未来做好优化。
原文地址:https://dzone.com/articles/postgresql-12-end-of-life-guide




