De acordo com a mensagem de erro, o
psql
comando que aparece primeiro no $PATH
tem /tmp
como o diretório de soquete unix padrão codificado. Como o diretório real é de fato
/var/pgsql_socket
, você deve informar explicitamente em vez de confiar no padrão:$ psql -h /var/pgsql_socket [other options]
O mesmo se aplica a outros comandos do lado do cliente, como
createdb
, dropdb
, createuser
... Se você não quiser especificar
-h
cada vez, ele pode ser colocado no PGHOST
variável de ambiente. Algumas pessoas também resolvem isso usando conexões TCP para
localhost
em vez de usar o diretório de soquete Unix. A causa raiz deste problema seria que após a instalação do PostgreSQL no Mac OS X, o sistema acaba tendo duas instâncias diferentes do conjunto cliente postgres (o
libpq
biblioteca, psql
e outros utilitários associados), um que vem com o MacOS e outro que vem com o instalador do PostgreSQL. Portanto, outro método é alterar seu
$PATH
para que o psql
instalado com o PostgreSQL é escolhido antes do instalado com o sistema (presumivelmente /usr/bin/psql
).