Podle chybové zprávy psql
příkaz, který se objeví jako první v $PATH
má /tmp
jako pevně zakódovaný výchozí adresář soketu unix.
Protože skutečný adresář je ve skutečnosti /var/pgsql_socket
, měli byste to říct explicitně, spíše než se spoléhat na výchozí:
$ psql -h /var/pgsql_socket [other options]
Totéž platí pro další příkazy na straně klienta, jako je createdb
, dropdb
, createuser
...
Pokud nechcete zadat -h
pokaždé jej lze vložit do PGHOST
proměnná prostředí.
Někteří lidé to také řeší pomocí TCP spojení s localhost
místo použití adresáře soketu Unix.
Hlavní příčinou tohoto problému by bylo, že po instalaci PostgreSQL na Mac OS X má systém dvě různé instance klientské sady postgres (libpq
knihovna, psql
a další související nástroje), jeden, který je součástí MacOS a druhý, který je dodáván s instalačním programem PostgreSQL.
Další metodou je tedy změna $PATH
takže psql
nainstalovaný pomocí PostgreSQL je vybrán před tím, který je nainstalován se systémem (pravděpodobně /usr/bin/psql
).