PostgreSQL的pg_upgrade失败,PG_VERSION

问题描述

我正在尝试将Ubunutu 18.04服务器上的postgresql 10数据库升级到postgresql12。我已经安装了12个二进制文件,并关闭了10实例后,我正在运行如下所示的check命令,但由于以下错误而失败。 / 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 / data / pg12 -c

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

真实0m0.011s 用户0m0.007s sys 0m0.004s

解决方法

最终可以用于升级的步骤是:

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