postgresql的2个实例,但我真的需要一个

时间:2013-12-17 08:46:00

标签: postgresql ubuntu

我碰巧在我的机器上安装了2个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作为主要的默认实例?

2 个答案:

答案 0 :(得分:4)

在升级到提供较新的postgresql版本的较新版本时,可能会出现Ubuntu中有两个群集的情况。

自动升级不会删除旧群集,大概是因为害怕删除有价值的数据(这是明智的,因为一些postgres升级可能需要人工完成)。

如果您知道要删除它,只需运行:

sudo pg_dropcluster --stop 9.1 main 

将删除相应的数据目录,service postgresql将不再引用9.1

此时9.2群集仍将使用端口5433,这是不切实际的。

要将其切换到默认端口,请修改/etc/postgresql/9.2/main/postgresql.conf并将行port = 5433更改为port = 5432

然后重启PostgreSQL。

最后要删除postgresql-9.1软件包,请查看dpkg -l 'postgresql*9.1*'

的结果

答案 1 :(得分:1)

psql失败,因为你的帖子都没有运行 首先,您应该了解为什么有2个不同的服务器,然后删除其中一个(我认为通过apt-get),如果需要,重新配置另一个(如果您键入{{1} ,两个服务器都将启动,并且要连接到9.2,您必须使用sudo service portgresql start) 编辑你的问题以添加更多信息(Ubuntu的版本,Postgres的起源等)......