如何卸载特定版本的 Postgres?

Hou*_*man 14 postgresql 14.04

在 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.* 包中。

  1. 所以你应该删除你的两个包:

    sudo apt-get purge postgresql-9.3 postgresql-9.5
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后你应该删除不必要的配置文件夹:

    rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
    
    Run Code Online (Sandbox Code Playgroud)
  3. 从 /var/lib/ 文件夹,如果你有:

    /var/lib/postgresql/*
    
    Run Code Online (Sandbox Code Playgroud)

我希望它会帮助你。