加布里埃尔·巴托利尼:CNPG 食谱 17 - PostgreSQL 就地重大升级

加布里埃尔·巴托利尼:CNPG 食谱 17 - PostgreSQL 就地重大升级

💡 原文英文,约1800词,阅读约需7分钟。
📝

内容提要

CloudNativePG 1.26引入了PostgreSQL的声明式就地升级功能,用户只需修改配置中的imageName即可完成升级。尽管需要短暂停机,但显著降低了运维成本,适合在Kubernetes中管理大量PostgreSQL数据库。该功能通过pg_upgrade实现,支持高效的数据库版本迁移。

🎯

关键要点

  • CloudNativePG 1.26引入了PostgreSQL的声明式就地升级功能,用户只需修改配置中的imageName即可完成升级。
  • 该功能通过pg_upgrade实现,支持高效的数据库版本迁移。
  • CloudNativePG提供三种声明式方法进行主要版本升级,其中两种需要新集群,属于蓝绿部署策略。
  • 就地主要升级的主要动机是消除GitOps用户在小版本和大版本升级之间的操作差异。
  • 在升级过程中,首先需要安全关闭PostgreSQL集群以确保数据一致性,然后更新集群资源状态以记录当前运行的镜像。
  • CloudNativePG会启动Kubernetes作业,使用pg_upgrade准备新的主要版本的PostgreSQL数据文件。
  • 如果pg_upgrade遇到错误,需要手动恢复到之前的PostgreSQL主要版本,保持持续的基础备份至关重要。
  • 在测试中,2.2TB的PostgreSQL数据库升级到17版本仅需33秒,恢复集群的完整操作时间不到一分钟。
  • 就地主要升级为Kubernetes中的PostgreSQL提供了一种声明式的过渡方式,尽管涉及停机,但消除了蓝绿集群的需求。
  • 该功能的成功依赖于真实世界的反馈,鼓励用户在发布候选阶段进行测试和验证。

延伸问答

CloudNativePG 1.26的主要新功能是什么?

CloudNativePG 1.26引入了PostgreSQL的声明式就地重大升级功能,用户只需修改配置中的imageName即可完成升级。

如何进行PostgreSQL的就地重大升级?

进行就地重大升级的步骤包括安全关闭PostgreSQL集群、更新集群资源状态、启动Kubernetes作业并使用pg_upgrade准备新的数据文件。

就地重大升级的主要优点是什么?

就地重大升级显著降低了运维成本,适合在Kubernetes中管理大量PostgreSQL数据库,消除了蓝绿集群的需求。

在升级过程中需要注意哪些风险?

在升级过程中,如果pg_upgrade遇到错误,需要手动恢复到之前的PostgreSQL版本,因此保持持续的基础备份至关重要。

CloudNativePG支持哪些升级方法?

CloudNativePG提供三种声明式方法进行主要版本升级,其中两种需要新集群,第三种是使用pg_upgrade进行的就地升级。

在测试中,升级2.2TB数据库到PostgreSQL 17需要多长时间?

在测试中,2.2TB的PostgreSQL数据库升级到17版本仅需33秒,恢复集群的完整操作时间不到一分钟。

➡️

继续阅读