亚马逊AWS官方博客
从 Amazon RDS for PostgreSQL 版本 9.4 升级
Original URL: https://thinkwithwp.com/blogs/database/moving-on-from-amazon-rds-for-postgresql-versions-9-4/
从过去的历史看,PostgreSQL 社区会每年会发布新的主要版本,并因此制定了旧的主要版本的寿命终止退市 (EOL: End of Life) 政策策略。这有利于用户作出有关未来某个日期的版本和升级的有关决策。社区的 EOL 政策策略是在一个主要版本首次发布后提供 5 年的支持。五年期限届满后,该主要版本将有一个最终次要版本,其中包含任何对应的漏洞修复,然后将被视为 EOL,不再提供支持。所有 PostgreSQL 版本的最终发布日期都可以在社区网站上找到。当前最新达到符合 EOL 策略的主要版本是 9.4(2020 年 2 月 13 日)。
发生了什么
由于 PostgreSQL 社区不再提供漏洞修复,尤其是安全方面的漏洞修复,现在正是升级所有 PostgreSQL 9.4 实例的最佳时机。为鼓励使用新版本的 PostgreSQL,2020 年 2 月 15 日,Amazon Relational Database Service (RDS) 停止支持从控制台创建新的 PostgreSQL 9.4 实例。在 2020 年 4 月 20 日前,仍可还原现有的 PostgreSQL 9.4 的快照和使用 9.4 实例创建新的只读副本。在 2020 年 4 月 20 日之后,任何剩余的 PostgreSQL 9.4 实例都将在维护时段自动升级至 PostgreSQL 11。如因任何原因导致无法自动升级至 PostgreSQL 11,则实例将升级至 PostgreSQL 9.5。
我们建议您在 2020 年 4 月 20 日前升级任何现有的 Amazon RDS PostgreSQL 9.4 实例,以便留足测试时间。只需登录控制台,即可快速确定您是否拥有任何 9.4 实例。如果您在任何给定区域拥有任何 Amazon RDS PostgreSQL 9.4 实例,则将会显示一条提醒消息,说明提醒有关 9.4 版本停用的相关详细信息。
如果您的账户中拥有任何现有的 PostgreSQL 9.4 实例,您可以在 2020 年 4 月 20 日前按照升级适用于 Amazon RDS 的 PostgreSQL 数据库引擎中描述的主要版本升级步骤操作,完成升级。
选择版本
PostgreSQL 9.4 的功能十分丰富,使 PostgreSQL 一跃成为新的应用程序类型。最受瞩目的一项功能是推出了 JSONB 数据类型。PostgreSQL 9.4 还推出了逻辑解码功能,从而让 AWS Database Migration Service (DMS) 等复制工具可以将 PostgreSQL 作为源数据库使用。这些杰出的功能以及其他众多的功能都包含在新的 PostgreSQL 主要版本中。
Amazon RDS 建议所有 Amazon RDS PostgreSQL 9.4 实例都升级到 PostgreSQL 11,当然也可能会有商业上的原因需要升级到其他主要版本。例如,某些应用程序尚未通过 PostgreSQL 11 的认证,因此必须升级到略微早一些的版本。在 4 月 20 日自动升级前进行手动升级时,您可以选择最适合自己需要的 PostgreSQL 版本。
版本 | 社区 EOL 日期 | 主要功能 |
9.5 | 2021 年 2 月 11 日 | 行级别的安全性 不存在则插入,存在则更新(又名 Upsert) |
9.6 | 2021 年 11 月 11 日 | 并行查询 全文本短语词组搜索 |
10 | 2022 年 11 月 10 日 | 原生表分区 逻辑复制 |
11 | 2023 年 11 月 9 日 | 存储流程过程 覆盖索引 |
除每个主要版本中包含的许多新功能外,Amazon RDS PostgreSQL 也在继续逐年提升性能。越新版本的 PostgreSQL 提供更新的实例类型。如下简单的基本比较图表显示了几个主要版本在的性能,相同工作负载的搭配默认配置情况下的性能不断提升的对比。
新的 PostgreSQL 主要版本的性能的逐年提升,也是始终升级到最新主要版本的一个重要原因。但应用程序中的某些查询或操作也有可能会出现性能下降倒退的现象,因此除了检查应用程序的兼容性外,也务必在升级前测试对应的性能。
小结
PostgreSQL 社区已经停止支持 PostgreSQL 9.4,现在正是升级所有 Amazon RDS PostgreSQL 9.4 实例的最佳时机。除能够保持最新的安全修补外,升级还可提供多方面的优势,让 PostgreSQL 的运行、管理和开发更加轻松。即使某个应用程序或流程无需任何更改即可使用新功能,总体性能提升也会惠及几乎所有应用程序。对于使用更新版本 PostgreSQL 的应用程序, 2024 年底以前的 PostgreSQL 社区 EOL 计划已经十分明确,应在年度计划中进行管理。