Postgres错误:没有现有的本地群集适合作为默认目标

时间:2015-06-30 10:22:38

标签: postgresql

我有一个旧项目,我正试图重新进入,但我不能进入postgres。正在运行sudo -u postgres psql给了我:

Error: No existing local cluster is suitable as a default target. 
Please see man pg_wrapper(1) how to specify one.

我想知道这是否是因为我几个月前将postgres升级到版本9.4。这是我dpkg --get-selections |grep postgres的输出:

postgresql                          install
postgresql-9.3                      install
postgresql-9.4                      install
postgresql-client-9.3               install
postgresql-client-9.4               install
postgresql-client-common            install
postgresql-common                   install
postgresql-contrib                  install
postgresql-contrib-9.3              install
postgresql-contrib-9.4              install
postgresql-server-dev-9.3           install

这些是我pg_lsclusters的当前群集:

Ver Cluster Port Status Owner    Data directory               Log file
9.4 apps    5434 online postgres /var/lib/postgresql/9.4/apps /var/log/postgresql/postgresql-9.4-apps.log

9.4 main    5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log

我可以做些什么才能再次访问postgres?谷歌搜索没有多大帮助。

3 个答案:

答案 0 :(得分:4)

由于您的群集都没有侦听默认端口5432psql(实际上是pg_wrapper的链接)并不知道哪个群组应该是&psql --cluster 9.4/apps [other arguments] #34;默认"

您可以使用psql --cluster 9.4/main [other arguments]访问第一个群集,使用$PGCLUSTER访问第二个群集。

或者将9.4/apps环境变量定义为9.4/main或{{1}}

这些来自pg_wrapper manpage的规则#2和#4(满分8)。

答案 1 :(得分:4)

如果您不关心默认群集是什么,并且只是想让事情像之前一样工作,只需指定要连接的端口

psql -p 5432

并且postgres不会试图为你聪明并使用"集群",不管是什么。

答案 2 :(得分:0)

只需设置PGCLUSTER

export PGCLUSTER=9.4/main