尽管安装了版本9.4,但最终我的postgresql-9.4
和psql
之间的版本不匹配,版本为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
答案 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