2015-06-30 3 views
8

Ho un vecchio progetto in cui sto cercando di rientrare, ma non riesco a inserire postgres. Esecuzione sudo -u postgres psql mi dà:Errore Postgres: Nessun cluster locale esistente è adatto come target predefinito

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

mi chiedo se questo potrebbe essere perché ho aggiornato alla versione 9.4 Postgres qualche mese fa. Questa è la mia uscita per 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 

Questi sono i miei gruppi correnti da 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 

Cosa posso fare per essere in grado di accedere nuovamente postgres? Googling non è stato di grande aiuto.

+0

** Vedere man pg_wrapper (1) come specificarne uno. **. Quindi, quando leggi la documentazione .... –

risposta

4

Poiché nessuno dei tuoi cluster ascolta la porta predefinita 5432, psql (che in realtà è un collegamento a pg_wrapper) non sa quale dovrebbe essere il "valore predefinito".

È possibile utilizzare psql --cluster 9.4/apps [other arguments] per accedere al primo cluster e psql --cluster 9.4/main [other arguments] per il secondo.

Oppure, in alternativa definire una variabile $PGCLUSTER ambiente 9.4/apps o 9.4/main

Questi provengono da regole # 2 e # 4 (su 8) di pg_wrapper manpage.

2

Se non ti importa che cosa il vostro gruppo di default è, e vuole solo che le cose funzionano come hanno fatto prima, basta specificare la porta che si desidera connettersi con

psql -p 5432 

e Postgres non tenteranno per essere intelligente per te e utilizzare un "cluster", qualunque cosa sia.

Problemi correlati