首页 > 解决方案 > Postgres12 的 pg_upgrade 因 PG_VERSION 而失败

问题描述

我正在尝试将 Ubunutu 18.04 服务器上的 postgreSQL 10 数据库升级到 postgreSQL 12。我已经安装了 12 个二进制文件并关闭了 10 个实例,我正在运行如下所示的检查命令,但它失败并出现以下错误。/pgsqlp/data/pg12 是新的数据目录,/pgsqlp/data/pgdata 是我的旧数据目录。我可以手动触摸新目录中的文件,但无法创建下一个目录。是否可以为 pg_upgrade 启用任何调试选项或附加日志记录以检查错误在哪里?

时间 /usr/lib/postgresql/12/bin/pg_upgrade -b /usr/lib/postgresql/10/bin -B /usr/lib/postgresql/12/bin -d /pgsqlp/data/pgdata -D /pgsqlp/数据/pg12 -c

无法打开版本文件“/pgsqlp/data/pg12/PG_VERSION”:没有这样的文件或目录失败,退出

真实 0m0.011s 用户 0m0.007s 系统 0m0.004s

标签: postgresql-12

解决方案


最终升级的步骤是:

  1. 停止旧实例。
  2. 安装 pg12 二进制文件
  3. 向新的目标数据目录启动一个空实例/集群。
  4. 停止两个新实例。
  5. 从 pg12 二进制位置运行 pg_upgrade 并执行 post 步骤。
  6. 删除旧的实例和数据目录。

推荐阅读