postgresql-12 - 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
解决方案
最终升级的步骤是:
- 停止旧实例。
- 安装 pg12 二进制文件
- 向新的目标数据目录启动一个空实例/集群。
- 停止两个新实例。
- 从 pg12 二进制位置运行 pg_upgrade 并执行 post 步骤。
- 删除旧的实例和数据目录。
推荐阅读
- javascript - Javascript代码在联系表单中不起作用
- python - Python - 在我的数据框上使用 isin 会引发错误
- python - 应用文件夹结构后的pyVisa TypeError
- python - 使用python pandas在excel中的多张表中写入数据
- mongodb - 显示所有 5 年以上的汽车
- elasticsearch - 对 ELK 集群使用 fail2ban?
- javascript - 为什么我的 javascript 变量显示在浏览器中?
- python - 如何从 python 文件中导入所有类和方法?
- touch - 触摸事件 - 我可以获得触摸/手指的大小吗?
- sql - 将多行转换为单个数组