postgres 与 PostgreSQL 12 中的 pg_ctl 版本不同

postgres 与 PostgreSQL 12 中的 pg_ctl 版本不同

根据日志文件,我收到以下错误。

“/usr/lib/postgresql/12/bin/pg_ctl” 找到了程序“postgres”,但其版本与 pg_ctl 不同。请检查您的安装。

我正在运行 Ubuntu 20.04。执行以下命令:

/usr/lib/postgresql/12/bin/postgres --版本

postgres (PostgreSQL) 12.16 (Ubuntu 12.16-0ubuntu0.20.04.1)

/usr/lib/postgresql/12/bin/pg_ctl --version

pg_ctl (PostgreSQL) 12.15 (Ubuntu 12.15-0ubuntu0.20.04.1)

我是否需要更新或执行某些任务,因为这会导致我的数据库服务器变得无用,并且我有一些无法访问的数据库?

答案1

由于我无法重新启动 PostgreSQL 服务器,我决定将数据文件复制/etc/postgresql/12/main到另一台服务器并检查它是否有效。

在尝试在新服务器上测试此操作时,我安装了相同版本的 PostgreSQL 12,然后尝试检查控制寄存器PostgreSQL 的

postgres (PostgreSQL) 12.16 (Ubuntu 12.16-0ubuntu0.20.04.1)

pg_ctl (PostgreSQL) 12.16 (Ubuntu 12.16-0ubuntu0.20.04.1)

我很惊讶,版本竟然是一样的,不像我现在的服务器。因此,我将新服务器中的二进制文件从位置复制到了旧服务器/var/lib/postgresql/12

完成此操作后,我的 PostgreSQL 启动时没有任何问题或投诉。我知道这可能不是最好的方法,但它确实有效,并允许我转储数据。

然而,关于旧服务器的版本如何变化的问题仍然存在。

相关内容