Според съобщението за грешка psql
команда, която се появява първа в $PATH
има /tmp
като твърдо кодирана директория на Unix сокет по подразбиране.
Тъй като действителната директория всъщност е /var/pgsql_socket
, трябва да го кажете изрично, вместо да разчитате на по подразбиране:
$ psql -h /var/pgsql_socket [other options]
Същото важи и за други команди от страна на клиента като createdb
, dropdb
, createuser
...
Ако не искате да посочите -h
всеки път може да бъде поставен в PGHOST
променлива на средата.
Някои хора също решават това, като използват TCP връзки към localhost
вместо да използвате директорията на сокета на Unix.
Основната причина за този проблем би била, че след инсталирането на PostgreSQL на Mac OS X, системата в крайна сметка има два различни екземпляра на набора от клиенти на postgres (libpq
библиотека, psql
и други свързани помощни програми), едната, която е в пакет с MacOS, а другата, която идва с инсталатора на PostgreSQL.
Следователно още един метод е да промените своя $PATH
така че psql
инсталиран с PostgreSQL се избира преди инсталирания със системата (вероятно /usr/bin/psql
).