内核小版本升级原理说明

最近更新时间:2025-06-26 22:08:52

我的收藏

升级必要性

云数据库 PostgreSQL 会定期发布新的内核小版本,带来诸多功能改进和优化,并修复相关问题,有效避免潜在风险,保障数据库的稳定性和安全性。建议用户根据自身业务需要和升级策略,合理规划内核小版本的升级时间,确保数据库版本为最新。本文将对内核小版本升级的原理进行详细说明。

升级处理流程



兼容性检查

用户发起升级任务后,系统首先进行以下预检查:
1. 内核兼容性检查:系统后台会自动检测当前数据库实例的内核小版本与目标小版本的兼容性,确保不会引起异常风险。
2. 参数兼容性检查:系统将检测用户自定义的参数及系统管控参数是否与新版本兼容,防止参数失效或冲突。对于用户自定义参数,若目标内核版本对应的参数范围与实例原内核版本对应的参数范围存在差异,参数值超过目标内核版本规定的范围时,会给出相应的提示,由用户自行修改,如下图所示。

3. 插件兼容性检查:系统将检测已安装的插件是否支持新的内核小版本,避免因插件不兼容导致的升级失败或功能异常。

确定升级顺序

只读实例升级

兼容性检查完毕后,系统将判断提出升级请求的实例类型。
如果为只读实例,则直接进入升级流程;
如果为主实例,首先升级其所关联的全部只读实例,所有只读实例升级完毕,再进入主实例升级流程。
说明:
当发起主实例内核小版本升级任务时,该主实例所关联的已隔离、下线但还未回收的只读实例都会被连带升级,且主、备实例状态均转变为“内核版本升级中”。处于该状态的实例仍可正常登录使用,但无法进行管理操作。每当一个实例升级完毕,其状态将恢复为“运行中”。

若主节点存在多个关联的只读实例,则只读实例将依次进行升级,请提前确认升级时间窗,并确保业务有重连机制。
对于主实例,为确保高可用性,系统将先升级备节点,备节点升级完毕后,再进行主节点的升级。

主实例升级

针对当前进入升级流程的主实例,系统将拉取一个新的规格类型与原实例相同备节点,再将主节点的数据同步到新的备节点中,并在该备节点完成升级。升级完成后,将在用户指定的切换时间内进行主备切换。


实例级别更新参数

升级过程中可能会涉及部分参数的调整,一些参数的变更需要重启数据库才能生效,请保证业务具备重连机制。

升级任务完成

升级任务结束后,在实例详情页的版本升级中,将显示本次升级任务记录。
对于只读实例,在本实例升级完毕后,本次升级任务结束;
对于主实例,在全部主、备节点均升级完毕后,本次升级任务结束。


热点问题

内核小版本升级之后是否可以降级

云数据库 PostgreSQL 不支持内核小版本降级。

升级内核小版本的影响

升级内核小版本会重启实例并发生切换,一般情况下服务可能会出现一次30秒的闪断,具体时间视业务情况而定。建议选择实例可维护时间内做切换,且应用程序有自动重连功能。
主备切换会导致逻辑复制的 Slot 丢失,导致逻辑复制断开。为了防止给您使用带来不便,请使用 逻辑复制槽故障转移(Failover Slot)能力。