首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL版本不兼容

PostgreSQL版本不兼容
EN

Stack Overflow用户
提问于 2014-07-15 00:26:02
回答 1查看 819关注 0票数 0

情况如下:

我使用以下命令安装了postgresql-9.3

代码语言:javascript
复制
    sudo apt-get install postgresql-9.3:

然后使用pg_ctl启动服务器

代码语言:javascript
复制
    pg_ctl -D /var/lib/postgresql/9.3/main -Z coordinator start

这会导致以下错误:

代码语言:javascript
复制
    18:23:50 CEST FATAL:  database files are incompatible with server 2014-07-14 18:23:50 CEST DETAIL:  The data directory was initialized by PostgreSQL version 9.3, which is not compatible with this version 9.2.4.

我不知道9.2.4版本是从哪里来的,我已经检查了我所有关于Postgres的文件夹,它们都在9.3文件夹下,甚至尝试过pg_clusters。有人能给出一些提示来解决这个问题吗?

dpkg -l | grep postgres给出了结果:

代码语言:javascript
复制
ii  postgres-xc               1.1-2ubuntu2  amd64        write-scalable, synchronous multi-master, transparent PostgreSQL cluster
ii  postgres-xc-client        1.1-2ubuntu2  amd64        front-end programs for Postgres-XC
rc  postgresql-9.3            9.3.4-1       amd64        object-relational SQL database, version 9.3 server
rc  postgresql-client-common  154           all          manager for multiple PostgreSQL client versions
rc  postgresql-common         154           all          PostgreSQL database-cluster manager

我曾经尝试删除"everything",然后重新安装它们,现在我得到了dpkg -l | grep` postgres的输出:

代码语言:javascript
复制
    ii  postgresql-9.3        9.3.4-1       amd64        object-relational SQL database, version 9.3 server
    ii  postgresql-client-9.3 9.3.4-1       amd64        front-end programs for PostgreSQL 9.3
    ii  postgresql-client-common  154       all          manager for multiple PostgreSQL client versions
    ii  postgresql-common         154       all          PostgreSQL database-cluster manager

现在看起来一切正常,当我尝试使用pg_ctl启动服务器时,命令行告诉我:

代码语言:javascript
复制
    The program 'pg_ctl' is currently not installed. You can install it by typing:

sudo apt-get install postgres-xc

有没有其他启动服务器的方法?我应该按照建议安装postgres-xc吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-07-15 01:01:02

您的机器上安装了旧的Postgres 9.2 (除非您没有混淆两台机器)。假设Debian缺乏信息。Ubuntu应该是类似的。

检查:

代码语言:javascript
复制
dpkg -l | grep postgres

(除非你也是在没有安装包管理器的情况下安装程序,否则你也应该能够理清这个烂摊子。)

如果您不再需要Postgres 9.2 (请确保这一点!)卸载它。那么一切都应该工作得很好。

代码语言:javascript
复制
sudo apt-get remove postgresql-9.2

或者甚至是:

代码语言:javascript
复制
sudo apt-get purge postgresql-9.2

如果你想保持两个(或更多)版本并行,我建议你另外安装postgresql-commonpostgresql-client-common,这有助于实现这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24741230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档