Volgens de foutmelding is de psql commando dat als eerste verschijnt in de $PATH heeft /tmp als de hard-coded standaard unix socket directory.
Aangezien de eigenlijke map in feite /var/pgsql_socket is , moet je het expliciet vertellen in plaats van te vertrouwen op de standaard:
$ psql -h /var/pgsql_socket [other options]
Hetzelfde geldt voor andere opdrachten aan de clientzijde, zoals createdb , dropdb , createuser ...
Als u -h . niet wilt specificeren elke keer kan het in de PGHOST . worden geplaatst omgevingsvariabele.
Sommige mensen lossen dit ook op door TCP-verbindingen te gebruiken met localhost in plaats van de Unix-socketdirectory te gebruiken.
De hoofdoorzaak van dit probleem zou zijn dat na installatie van PostgreSQL op Mac OS X, het systeem twee verschillende instanties van de postgres-clientset heeft (de libpq bibliotheek, psql en andere bijbehorende hulpprogramma's), een die is gebundeld met MacOS en de andere die wordt geleverd met het PostgreSQL-installatieprogramma.
Daarom is nog een andere methode om uw $PATH . te wijzigen zodat de psql geïnstalleerd met PostgreSQL wordt gekozen vóór degene die met het systeem is geïnstalleerd (vermoedelijk /usr/bin/psql ).