我的机器上恰好安装了两个 postgresql 实例:9.1 和 9.2:
sudo service postgresql status
9.1/main (port 5432): down
9.2/main (port 5433): down
它们位于/etc/postgresql/9.1/
和/etc/postgresql/9.2/
。然后我运行9.2
说sudo service postgresql start
但是这个命令失败了:
$ 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"?
我确实只想使用9.2
,我不需要 2 个实例。
您是否知道如何9.1
安全地删除或使其9.2
成为主要默认实例?
答案1
要删除 9.1 实例(假设您不想保留数据):
sudo pg_dropcluster 9.1 main
dpkg --get-selections | grep postgres
sudo apt-get purge postgresql-9.1 postgresql-client-9.1
这可能可以解决问题,但偶尔工具可能会抱怨它更喜欢让 9.2 实例在端口 5432 上运行。因此,在关闭 9.2 实例的情况下,编辑配置文件/etc/postgresql/9.2/main/postgresql.conf
并更改port =
设置。然后重新启动它。
答案2
安装软件包时postgresql
,您将始终获得最新版本并保留旧版本。您可以安装postgresql-9.2
以忽略较新版本并在真正需要时进行迁移。