Laut Fehlermeldung ist die psql
Befehl, der zuerst in $PATH
erscheint hat /tmp
als das fest codierte Standard-Unix-Socket-Verzeichnis.
Da das eigentliche Verzeichnis tatsächlich /var/pgsql_socket
ist , sollten Sie es explizit angeben, anstatt sich auf die Vorgabe zu verlassen:
$ psql -h /var/pgsql_socket [other options]
Dasselbe gilt für andere clientseitige Befehle wie createdb
, dropdb
, createuser
...
Wenn Sie -h
nicht angeben möchten jedes Mal kann es in den PGHOST
eingefügt werden Umgebungsvariable.
Einige Leute lösen dies auch, indem sie TCP-Verbindungen zu localhost
verwenden anstatt das Unix-Socket-Verzeichnis zu verwenden.
Die Hauptursache dieses Problems wäre, dass das System nach der Installation von PostgreSQL unter Mac OS X zwei verschiedene Instanzen des Postgres-Client-Sets (die libpq
Bibliothek, psql
und andere zugehörige Dienstprogramme), eines, das mit MacOS gebündelt ist, und das andere, das mit dem PostgreSQL-Installationsprogramm geliefert wird.
Daher ist eine weitere Methode, Ihren $PATH
zu ändern sodass die psql
installiert mit PostgreSQL wird vor der mit dem System installierten ausgewählt (vermutlich /usr/bin/psql
).