在我从 Postgres 站点安装之前,我意识到 PostgreSQL 已经在我的笔记本电脑(Mac OS X)上运行。因此,当我使用安装程序时,我得到了 PostgreSQL 并登录到创建的 postgres 用户帐户。
在我写的终端
psql -U postgres
并提供了我的密码。我登录了,但它说,
警告:psql 版本 9.0,服务器版本 9.1。某些 psql 功能可能不起作用。
我应该如何解决这个问题,以便我可以正确访问数据库而不会出现任何问题?
在我从 Postgres 站点安装之前,我意识到 PostgreSQL 已经在我的笔记本电脑(Mac OS X)上运行。因此,当我使用安装程序时,我得到了 PostgreSQL 并登录到创建的 postgres 用户帐户。
在我写的终端
psql -U postgres
并提供了我的密码。我登录了,但它说,
警告:psql 版本 9.0,服务器版本 9.1。某些 psql 功能可能不起作用。
我应该如何解决这个问题,以便我可以正确访问数据库而不会出现任何问题?
警告来自PostgreSQL 交互式终端psql。不会有什么不好的事情发生。
由于您并行安装了两个版本的 PostgreSQL,因此您需要两个版本的 psql。也许您甚至将它们放在磁盘上。但是当您键入命令时psql
,您的系统将默认为其中之一,事先不知道您要连接到哪个数据库服务器版本。
您可以键入所需 psql 版本的显式路径。使用此 shell 命令查找所有变体的完整路径(适用于 Linux,未经 Mac OS X 测试):
which -a psql
如果您没有随 PostgreSQL 一起安装 psql 9.1 版,当然,您必须先安装它。
如果您不再使用 PostgreSQL 9.0,您可以将其卸载以消除歧义。
在 Debian 中,您还可以通过以下方式设置多个备选方案的默认值:
update-alternatives
但是在 Debian 中,如果您像这样指定数据库集群,您还有一个动态调用匹配 psql 的包装器:
psql --cluster 9.1/main
不确定 Mac OS X。
您已经安装了 postgresql-server 9.1(服务器端)和 postgres(客户端 9.0)。也许您也安装了客户端 9.1,但它不在路径上,因此您必须找到它,或者如果您没有,则安装它。