Как и некоторые другие, я получаю эту ошибку, когда запускаю rake db: переношу в свой проект или даже пытаюсь выполнить большинство задач базы данных для Ruby on Rails 3.2 приложения.
PGError (не удалось подключиться к серверу: нет такого файла или каталога. сервер, работающий локально, и прием соединений в сокетном домене Unix "/tmp/.s.PGSQL.5432"?
Я установил PostgreSQL с Homebrew давным-давно и после попытки установки MongoDB моя установка PostgreSQL никогда не была такой же. Я запускаю OS X v10.6 Snow Leopard.
Что не так и как лучше понять, как PostgreSQL и должен быть настроен на моем Mac?
До сих пор (я думаю) это говорит мне, что PostgreSQL не работает (?).
ps -aef|grep postgres ([email protected]) (develop) ✗
501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres
Но это говорит мне, что PostgreSQL работает?
✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136)
homebrew.mxcl.postgresql: Already loaded
Как это исправить? что я не вижу?
PS: ~/Library/LaunchAgents
содержит два файла .plist PostgreSQL. Я не уверен, что это важно.
org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist
Я попробовал следующее и получил результат, как показано ниже.
$psql -p 5432 -h localhost
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (fe80::1) and accepting
TCP/IP connections on port 5432?
Я читал, так как это происходит потому, что OS X устанавливает собственную версию PostgreSQL, а Homebrew устанавливает другую версию в другом месте, а команды PostgreSQL ищут в каталоге /tmp/. Вам нужно будет искать больше в Stack Overflow, но в основном вы symlink PostgreSQL, так что все, что ищет в этом пути tmp, действительно находит реальный путь, если это имеет смысл.
Это ссылка, в которой я нашел еще несколько вещей, чтобы попробовать, в частности, делать символическую ссылку в соответствии с выше, Mac OSX Lion Postgres не принимает подключения на /tmp/.s. PGSQL.5432. Я все еще хочу, чтобы кто-то собрал достойное объяснение концепций установки PostgreSQL на OS X и почему все это так сложно.
Последние сведения, помогающие устранить неполадки:
$ which psql // This tells you which PostgreSQL you are using when you run $ psql.
Затем запустите:
$ echo $PATH
Ключевое значение, которое необходимо учитывать, следующее:
Убедитесь, что запись пути для копии PostgreSQL, которую вы хотите запустить COMES, до пути к OS X-системе PostgreSQL.
Это основное требование, которое решает, какой PostgreSQL запускается, и это то, что мне говорят, приводит к большинству этих проблем.