记录升级前基线
收集服务器、操作系统、驱动、扩展和备份工具版本,保存配置、对象大小、昂贵查询、存储延迟、关键操作时间和峰值负载。没有基线就无法判断变化。还要确认业务应用和扩展明确支持目标版本。
在真实存储上测试异步 I/O
PostgreSQL 18 提供新的异步 I/O 子系统和方法选择。效果取决于操作系统、文件系统、存储、缓存和查询类型。应在工作数据副本上比较冷缓存、热缓存、报表、备份、vacuum 和并发事务,单独的磁盘测试不足以代表数据库。
查找查询计划变化
优化器新增多列 B-tree 索引 skip scan 等能力,但大版本也可能改变执行计划或暴露旧统计信息。对关键 SQL 比较 EXPLAIN ANALYZE、时延、读取和锁,并检查 ORM、预处理语句、函数、数据类型和扩展。UUIDv7 等新功能应在核心升级稳定后单独启用。
检查访问与监控
18 版扩展 OAuth 与诊断能力,同时 MD5 身份验证进入弃用过程。变更前清点客户端库、pg_hba.conf、证书、服务账号和紧急访问,并统一升级前后的等待、I/O、复制、checkpoint、autovacuum 和错误指标。
演练升级和回退
根据数据量和停机窗口选择逻辑或物理路线,实测耗时并验证扩展、复制、备份和完整性。pg_upgrade 可保留优化器统计信息,但启动后仍需分析。上线前明确停止写入、应用切换和事务处理,只有业务操作通过并完成观察期,升级才算结束。

