升级外部PostgreSQL 数据库
升级外部 PostgreSQL 数据库
在升级 PostgreSQL 数据库引擎时,遵循 PostgreSQL 社区和云提供商推荐的所有步骤是非常重要的。PostgreSQL 数据库有两种升级类型:
-
小版本升级:这些升级仅包括错误和安全修复。它们始终与现有应用程序数据库模型向后兼容。
小版本升级过程包括替换 PostgreSQL 二进制文件并重启数据库服务。数据目录保持不变。
-
大版本升级:这些升级会更改内部存储格式和数据库目录。因此,查询优化器使用的对象统计信息不会被转移到新版本,必须使用 ANALYZE 重新构建。
不遵循文档中记录的大版本升级过程通常会导致数据库性能下降和数据库服务器上的高 CPU 使用率。
所有主要云提供商都支持使用 pg_upgrade 工具进行数据库实例的就地大版本升级。但是,您必须遵循升级前和升级后的步骤,以降低性能下降或数据库中断的风险。
大版本升级后始终 ANALYZE 您的数据库
在大版本升级后运行 ANALYZE 操作以刷新 pg_statistic 表是强制性的,因为优化器统计信息不会被 pg_upgrade 转移。这应该对升级的 PostgreSQL 服务/实例/集群上的所有数据库执行。
为了加快 ANALYZE 操作,使用 vacuumdb 工具,通过 --analyze-only --jobs=njobs 参数并行执行 ANALYZE 命令,同时运行 njobs 命令。