我碰巧在我的机器上安装了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/
。 然后我运行sudo service postgresql start
运行9.2
但是这个命令失败了:
$ 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
成为主要的默认实例?
在升级到较新的版本时,Ubuntu中有两个群集可能会发生这种情况,提供更新的postgresql版本。
自动升级不会删除旧的群集,可能是因为害怕删除有价值的数据(这是明智的,因为一些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*'
psql
失败,因为你的postgres没有运行。
首先,你应该明白为什么有2个不同的服务器,然后删除其中一个(通过apt-get
,我认为),如果需要重新配置另一个(如果你键入sudo service portgresql start
,两台服务器将启动,要连接到9.2,你必须使用psql --port=5433
)。
编辑你的问题添加更多的信息(Ubuntu的版本,Postgres的起源等)…