omnia@ubuntu:~$ psql --version
psql (PostgreSQL) 9.3.4
omnia@ubuntu:~$ pg_dump --version
pg_dump (PostgreSQL) 9.2.8
omnia@ubuntu:~$ dpkg -l | grep pg
ii gnupg 1.4.11-3ubuntu2.5 GNU privacy guard - a free PGP replacement
ii gpgv 1.4.11-3ubuntu2.5 GNU privacy guard - signature verification tool
ii libgpg-error0 1.10-2ubuntu1 library for common error values and messages in GnuPG components
ii libpq5 9.3.4-1.pgdg60+1 PostgreSQL C client library
ii pgdg-keyring 2013.2 keyring for apt.postgresql.org
ii postgresql-9.2 9.2.8-1.pgdg60+1 object-relational SQL database, version 9.2 server
ii postgresql-9.3 9.3.4-1.pgdg60+1 object-relational SQL database, version 9.3 server
ii postgresql-client-9.2 9.2.8-1.pgdg60+1 front-end programs for PostgreSQL 9.2
ii postgresql-client-9.3 9.3.4-1.pgdg60+1 front-end programs for PostgreSQL 9.3
ii postgresql-client-common 154.pgdg60+1 manager for multiple PostgreSQL client versions
ii postgresql-common 154.pgdg60+1 PostgreSQL database-cluster manager
ii python-gnupginterface 0.3.2-9.1ubuntu3 Python interface to GnuPG (GPG)
ii unattended-upgrades 0.76ubuntu1 automatic installation of security upgrades
ii update-manager-core 1:0.156.14.13 manage release upgrades
omnia@ubuntu:~$
好像我已经安装了但pg_dump卡在旧版本中?奇怪,因为两者都链接到相同的“包装器”:
omnia@ubuntu:~$ readlink /usr/bin/psql
../share/postgresql-common/pg_wrapper
omnia@ubuntu:~$ readlink /usr/bin/pg_dump
../share/postgresql-common/pg_wrapper
我究竟做错了什么?
sudo rm /usr/bin/pg_dump
sudo ln -s /usr/lib/postgresql/9.3/bin/pg_dump /usr/bin/pg_dump
如果你的pg_dump是sym链接到pg_wrapper,那么最好的解决方法是告诉pg_wrapper使用哪个版本。
附加
* * 9.6 localhost:5432 *
到/etc/postgresql-common/user_clusters
,(假设你的邮政局长正在听localhost:5432当然)。
这样就解决了所有pg_命令的问题,不涉及破坏任何内容,并且可以很好地扩展您可能希望安装的未来版本。
有关详细信息和其他选项,请参阅man pg_wrapper
和man postgresqlrc
。
注意这个答案专门用于Debian / Ubuntu,并且最有可能在安装了两个版本的pg时适用,例如。升级后
pgdg60
包后缀让我相信这些包不是来自官方的Ubuntu存储库。尝试查看/etc/apt/sources.list
或/etc/apt/sources.list.d
,看看你是否有任何第三方PPA或指定的存储库。
尝试从你的Ubuntu仓库获取Postgresql软件包(虽然这可能有点过时,具体取决于你的Ubuntu版本),或者从官方的postgres repo(他们为Ubuntu / Debian提供一个合适的服务器):https://wiki.postgresql.org/wiki/Apt