【发布时间】:2016-12-20 22:51:34
【问题描述】:
我们正在尝试将生产 9.2 的 postgres 集群升级到 9.5。服务器正在运行 Centos 7 和 Centos 版本 - 当前为 9.2.15 我们正在从 postgresql 存储库安装 postgresql 提供的 rpm 的 postgresql9.5,当前为 9.5.4。在测试和我们的开发集群上,升级没有问题,但在我们的生产数据库上发生了一些我们无法弄清楚的事情。
9.2 集群处于由起搏器控制的流式复制中。我们一直在使用的步骤如下。
- 用最新的数据验证副本服务器是否处于良好状态,然后将机器置于待机状态,停止 9.2 db
- 手动启动 9.2 服务器以获取一些统计信息以供稍后验证(来自多个关键表的行数)
- 停止 9.2 服务器,安装 9.5 二进制文件。
- 初始化 9.5 分贝
- 使用链接选项运行 pg_upgrade
- 运行 pg_upgrade 生成的完整真空分析脚本
我们在测试中发现,我们通过升级过程,手动启动 9.5 服务器以比较我们在升级前立即收集的行数,我们看到不同的数据,有时甚至是剧烈的。这些数据包括丢失的用户帐户等,这些数据不是易腐烂的数据。
我们已启用详细日志记录并对其进行了审查,但在迁移过程中没有发现任何错误。 9.5 服务器毫无问题地启动,如果我们不进行这些手动检查,我们不会发现问题。
有其他人看到这个问题吗?
升级过程中唯一不是直接来自 postgres_upgrade 手册页的“hack”是在 postgresql 中处理 centos 向后移植的重命名选项。使用此处最佳答案中引用的 pg_ctl 的重命名 - https://dba.stackexchange.com/questions/50135/pg-upgrade-unrecognized-configuration-parameter-unix-socket-directory
【问题讨论】:
标签: postgresql centos7 postgresql-9.2 postgresql-9.5