如何更正psql版本和postgresql版本的不匹配?

时间:2015-12-02 20:07:36

标签: postgresql

尽管安装了版本9.4,但最终我的postgresql-9.4psql之间的版本不匹配,版本为9.3。 我想我需要纠正$PATH变量,但我不知道在哪里找到它。我查看了/etc/.bashrc文件,看不到任何指向正确方向的内容。

当我sudo find / -name psql时,结果是:

/usr/bin/psql
/usr/share/bash-completion/completions/psql
/usr/pgsql-9.4/bin/psql

yum list installed | grep postgres产生以下结果:

postgresql.x86_64                9.3.9-1.fc21                          @updates 
postgresql-contrib.x86_64        9.3.9-1.fc21                          @updates 
postgresql-devel.x86_64          9.3.9-1.fc21                          @updates 
postgresql-libs.x86_64           9.3.9-1.fc21                          @updates 
postgresql-server.x86_64         9.3.9-1.fc21                          @updates 
postgresql94.x86_64              9.4.5-1PGDG.f21                       @pgdg94  
postgresql94-libs.x86_64         9.4.5-1PGDG.f21                       @pgdg94  
postgresql94-server.x86_64       9.4.5-1PGDG.f21                       @pgdg94 

3 个答案:

答案 0 :(得分:2)

使用替代机制。在Fedora上:

sudo update-alternatives --config pgsql-psql

答案 1 :(得分:1)

您显然使用的是CentOS或RHEL。

在这种情况下,您可以:1)使用完整路径调用 psql 或2)通过执行以下命令替换备选项中的当前 psql {{ 1}}:

root

提示:每当查找文件或目录时,请使用update-alternatives --install /usr/bin/psql pgsql-psql /usr/pgsql-9.4/bin/psql 1 updatedb代替locate。 :d

答案 2 :(得分:1)

克雷格·林格(Craig Ringer)回答-通常,您应该使用:

sudo update-alternatives --config pgsql-psql

尽管如此,有时您仍然可以得到这样的消息:

failed to link /usr/bin/psql -> /etc/alternatives/pgsql-psql: /usr/bin/psql exists and it is not a symlink

如果是,请尝试:

ln -s /usr/pgsql-[PUT YOUR VERSION HERE(ex. 9.6)]/bin/psql /usr/local/bin/psql