【问题标题】:Postgres 9.2 to 9.5 Upgrade is losing DataPostgres 9.2 到 9.5 升级正在丢失数据
【发布时间】: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 集群处于由起搏器控制的流式复制中。我们一直在使用的步骤如下。

  1. 用最新的数据验证副本服务器是否处于良好状态,然后将机器置于待机状态,停止 9.2 db
  2. 手动启动 9.2 服务器以获取一些统计信息以供稍后验证(来自多个关键表的行数)
  3. 停止 9.2 服务器,安装 9.5 二进制文件。
  4. 初始化 9.5 分贝
  5. 使用链接选项运行 pg_upgrade
  6. 运行 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


    【解决方案1】:

    考虑到这一点(不,我没有遇到同样的问题),pg_upgrade 的工作原理是重写系统目录,但保留磁盘上的其余数据。如果行数发生变化,那将非常令人担忧。尽管如此,从 9.2 到 9.5 是相当大的一步,因此在某些领域可能会出现其他问题。

    不知道实际问题是什么,我会尝试的第一件事是在升级之前而不是之后尝试运行真空分析。我想知道事务可见性是否存在问题。

    我会尝试的第二件事是转至 9.4,看看问题是否浮出水面,如果没有,则转至 9.5。

    但是,我从来没有听说过这样的问题。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-20
        • 1970-01-01
        • 1970-01-01
        • 2012-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多