Enligt felmeddelandet är psql
kommandot som visas först i $PATH
har /tmp
som den hårdkodade standard unix-socketkatalogen.
Eftersom den faktiska katalogen i själva verket är /var/pgsql_socket
, bör du berätta det explicit istället för att förlita dig på standard:
$ psql -h /var/pgsql_socket [other options]
Detsamma gäller andra kommandon på klientsidan som createdb
, dropdb
, createuser
...
Om du inte vill ange -h
varje gång kan den läggas in i PGHOST
miljövariabel.
Vissa människor löser även detta genom att använda TCP-anslutningar till localhost
istället för att använda Unix-socketkatalogen.
Grundorsaken till detta problem skulle vara att efter installation av PostgreSQL på Mac OS X, slutar systemet med att ha två olika instanser av postgres-klientuppsättningen (libpq
bibliotek, psql
och andra tillhörande verktyg), en som medföljer MacOS och den andra som följer med PostgreSQL-installationsprogrammet.
Därför är ännu en metod att ändra din $PATH
så att psql
installerad med PostgreSQL väljs före den som installeras med systemet (förmodligen /usr/bin/psql
).