我碰巧在我的机器上安装了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
作为主要的默认实例?
答案 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的起源等)......