您的数据库文件是由 PostgreSQL 9.0 创建的 - 找不到此版本的可执行文件

You database files were created by PostgreSQL 9.0- could not find executables for this version

我试图在 OpenSuse 服务器上更新 Postgres 服务器的版本。有一些问题,我现在想恢复使用之前安装的 postgres-server 版本(9.03)。 我删除了 9.4 版并尝试启动 postgresql 服务器,但出现错误:

Your database files were created by PostgreSQL version 9.0.
 Could not find executables for this version.
 Please install the PostgreSQL server package for version 9.0.

当我运行:

rpm -qa | grep postgresql

显示:

postgresql-docs-9.0.3-1.6.1.noarch
postgresql-server-9.0.3-1.6.1.x86_64
postgresql-contrib-9.0.3-1.6.1.x86_64
postgresql-9.0.3-1.6.1.x86_64
postgresql-devel-9.0.3-1.6.1.x86_64

看来 9.03 版已经安装了。

我不确定现在该怎么做才能让服务器恢复到原来的状态,我有点恐慌。任何人都可以提出任何建议吗?

编辑**

这里是罗纳尔迪诺提供的一些有用信息之后的更多信息。

我在 /user/bin/pg_ctl 中发现了我的 pg_ctl 文件,并且 /data 似乎是以前的数据目录(我推断这是因为它包含 pg_hbs.conf 和 postgresql.conf)。 结果我 运行 这个命令作为用户 postgres:

/usr/bin/pg_ctl start -D /data/ -l /data/pg_log/new_log.txt

我确实收到了一条消息,开头说:

server starting

看起来服务器实际上是 运行ning。但是,psql 二进制文件现在似乎丢失了,所以我不能 psql 到数据库服务中。

谢谢

我好像系统无法识别你的postgresql 9.0位置在哪里。

你应该找到postgresql 9.0的二进制文件在哪里,然后直接启动服务器。

  1. 运行 用于查找 postgresql 9.0 位置的命令

    which postgres

    例如: /usr/local/pgsql/bin/

  2. 启动服务器

    sudo /usr/local/pgsql/bin/pg_ctl start -D <<your DB dir>> -l /var/log/postgresl.log

祝你好运!