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 ).