【问题标题】:You database files were created by PostgreSQL 9.0- could not find executables for this version您的数据库文件是由 PostgreSQL 9.0 创建的-找不到此版本的可执行文件
【发布时间】:2017-07-28 10:37:57
【问题描述】:

我试图在 OpenSuse 服务器上更新 Postgres-server 的版本。有一些问题,我现在想恢复使用之前安装的 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

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

谢谢

【问题讨论】:

    标签: linux postgresql opensuse


    【解决方案1】:

    我似乎系统无法识别您的 postgresql 9.0 位置在哪里。

    你应该找到postgresql 9.0的二进制文件在哪里,直接启动Server。

    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

    祝你好运!

    【讨论】:

    • 首先感谢您的建议。它让我克服了一个障碍(我认为!)现在我找到了另一个!我已经编辑了我的问题。干杯
    • 对于您编辑的问题:尝试 tailf /data/pg_log/new_log.txt 了解错误是什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多