PostgreSQL 19 计划 10 月 29 日 GA,MySQL 26.7.0 也已发布。如果你的 K3 后端跑在这两者上,升级前建议先做一轮账套体检。
第一项:编码与排序规则
PG 19 把 standard_conforming_strings 强制开启,MySQL 26.7 也进入了新的版本体系。含中文的物料名称、客户名称、备注字段是最敏感的部分。做法是导出一份全表的字符集和排序规则清单,确认没有混杂。
第二项:存储过程与自定义函数
ERP 系统里通常积累了大量自定义函数和存储过程。PG 19 里 json_array() 空结果从 NULL 变成空数组,这类行为变更会直接影响函数返回值。逐个过一遍,凡是依赖返回 NULL 做判断的地方都要改。
第三项:锁与并发
PG 19 的 max_locks_per_transaction 从 64 改成 128。听起来是放宽,但如果你手动调过这个值,沿用旧数字反而只剩一半容量。月末结账时的大批量过账最容易触发。检查当前值,需要的话翻倍。
第四项:长事务与 vacuum
PG 19 加入了索引的并行 autovacuum 和选表评分机制,这是好消息。但升级前要先摸清当前的长事务分布——如果有跑几个小时不提交的批处理,再好的 autovacuum 也救不了。
第五项:备份可恢复性验证
这一项最容易被跳过。不要只确认备份任务成功,要真的恢复一次到临时实例并跑通查询。备份成功率 100% 但恢复失败的情况,在实际运维里并不罕见。
升级路径
先在测试环境起新版本实例,用新版本的导出工具导一份全量,恢复后跑一轮完整的月结流程。旧实例至少保留一个完整的会计期间。
一个容易被忽略的点
K3 的客户端和中间件版本对数据库的兼容性有要求。数据库升了但中间件没跟上,问题会比不升级更麻烦。先查兼容性矩阵。
本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。