PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Problema relativo al socket di PostgreSQL Mountain Lion

Secondo il messaggio di errore, psql comando che appare per primo nel $PATH ha /tmp come directory socket unix predefinita hardcoded.

Poiché la directory effettiva è infatti /var/pgsql_socket , dovresti dirlo in modo esplicito piuttosto che fare affidamento sull'impostazione predefinita:

$ psql -h /var/pgsql_socket [other options]

Lo stesso vale per altri comandi lato client come createdb , dropdb , createuser ...

Se non vuoi specificare -h ogni volta, può essere inserito nel PGHOST variabile di ambiente.

Alcune persone risolvono anche questo utilizzando connessioni TCP a localhost piuttosto che usare la directory socket Unix.

La causa principale di questo problema sarebbe che dopo aver installato PostgreSQL su Mac OS X, il sistema finisce per avere due diverse istanze del set di client postgres (il libpq libreria, psql e altre utilità associate), una fornita in bundle con MacOS e l'altra fornita con il programma di installazione di PostgreSQL.

Quindi ancora un altro metodo è cambiare il tuo $PATH in modo che psql installato con PostgreSQL viene scelto prima di quello installato con il sistema (presumibilmente /usr/bin/psql ).