Ifølge fejlmeddelelsen er psql
kommando, der vises først i $PATH
har /tmp
som den hårdkodede standard unix-socket-mappe.
Da den faktiske mappe faktisk er /var/pgsql_socket
, bør du fortælle det eksplicit i stedet for at stole på standarden:
$ psql -h /var/pgsql_socket [other options]
Det samme gælder for andre kommandoer på klientsiden som createdb
, dropdb
, createuser
...
Hvis du ikke ønsker at angive -h
hver gang kan det sættes ind i PGHOST
miljøvariabel.
Nogle mennesker løser også dette ved at bruge TCP-forbindelser til localhost
i stedet for at bruge Unix-socket-mappen.
Grundårsagen til dette problem ville være, at efter installation af PostgreSQL på Mac OS X, ender systemet med at have to forskellige forekomster af postgres-klientsættet (libpq
bibliotek, psql
og andre tilknyttede hjælpeprogrammer), en der er bundtet med MacOS og den anden der følger med PostgreSQL-installationsprogrammet.
Derfor er endnu en metode at ændre din $PATH
så psql
installeret med PostgreSQL bliver valgt før den, der er installeret med systemet (formodentlig /usr/bin/psql
).