首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CentOS 5:我的Postgresql服务器版本与我的psql客户机不同。我该怎么办?

CentOS 5:我的Postgresql服务器版本与我的psql客户机不同。我该怎么办?
EN

Unix & Linux用户
提问于 2013-12-31 11:31:24
回答 3查看 22.4K关注 0票数 5

我在CentOS 5 x86_64 VPS中安装了以下命令:

我指定了要安装哪个Postgresql版本,所以选择9.1,因为我希望将开发环境与生产环境等同起来:

代码语言:javascript
复制
wget http://yum.pgrpms.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm

然后

代码语言:javascript
复制
yum install postgresql91-server

最后

代码语言:javascript
复制
service postgresql-9.1 initdb
chkconfig postgresql-9.1 on
service postgresql-9.1 start

在完成所有这些并创建数据库之后,我运行psql myfirstdb并得到以下警告:

代码语言:javascript
复制
Welcome to psql 8.1.23 (server 9.1.11), the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

WARNING:  You are connected to a server with major version 9.1,
but your psql client is major version 8.1.  Some backslash commands,
such as \d, might not work properly.

也就是说,我有9.1服务器,使用psql客户端8.1,一些命令(如\d )无法工作。

我该怎么修理它们?

EN

回答 3

Unix & Linux用户

发布于 2014-01-01 03:54:48

您可能有多个版本的PostgreSQL,并且使用了错误的psql版本。试一试

代码语言:javascript
复制
sudo find / -name psql

然后检查文件的版本,并通过设置路径使用正确的文件。

代码语言:javascript
复制
 /usr/pgsql-9.3/bin/psql -V
psql (PostgreSQL) 9.3.2

你也可以试试

代码语言:javascript
复制
yum list installed | grep postgres

查看系统中存在哪些版本的PostgreSQL。

票数 5
EN

Unix & Linux用户

发布于 2013-12-31 14:01:29

psql客户端位于与psql服务器不同的包中。它通常被称为postgresql。

票数 1
EN

Unix & Linux用户

发布于 2014-12-01 02:51:24

客户端包postgresql91是服务器包postgresql91-server所依赖的。所以您已经安装了客户端,但这不是默认的。

RH包使用从Debian借来的替代机制来控制哪个程序的运行。您可以选择要使用的版本:

代码语言:javascript
复制
sudo update-alternatives --config pgsql-psql

..。虽然我不确定你正在使用的旧版本是否如此。

或者,您可以将PATH设置为放在较新的二进制文件之前。附加到.bash_profile

代码语言:javascript
复制
export PATH=/usr/pgsql-9.1/bin:$PATH

然后关闭并重新打开航站楼。

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

https://unix.stackexchange.com/questions/107268

复制
相关文章

相似问题

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