在 Ubuntu 14.04 上,我这样做是为了获得最新的 postgres:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
然后我安装了 9.4 版:
sudo apt-get install postgresql-9.4
Run Code Online (Sandbox Code Playgroud)
但是,我现在似乎有三个版本:
sudo service postgresql stop
* Stopping PostgreSQL 9.3 database server [ OK ]
* Stopping PostgreSQL 9.4 database server [ OK ]
* Stopping PostgreSQL 9.5 database server [ OK ]
Run Code Online (Sandbox Code Playgroud)
我怎样才能只保留 9.4 并卸载其他的?谢谢
更新:
正如评论中所建议的,我已经卸载了 9.3 和 9.5。
但是当我这样做时:
sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,但是当我切换到 postgres 时:
sudo su postgres
Run Code Online (Sandbox Code Playgroud)
并执行 psql,我收到错误消息:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
小智 11
不同版本的 PostgreSQL 位于 postgresql-9.* 包中。
所以你应该删除你的两个包:
sudo apt-get purge postgresql-9.3 postgresql-9.5
Run Code Online (Sandbox Code Playgroud)然后你应该删除不必要的配置文件夹:
rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
Run Code Online (Sandbox Code Playgroud)从 /var/lib/ 文件夹,如果你有:
/var/lib/postgresql/*
Run Code Online (Sandbox Code Playgroud)我希望它会帮助你。