Як і деякі інші, я отримую цю помилку, коли запускаю 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 (ruby-1.9.2-p320@jct-ana) (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
включає два файли PostgreSQL .plist. Я не впевнений, чи це актуально.
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, але в основному ви символізуєте 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, яку ви хочете запустити, ДОПОМОГА ДО ПЕРЕД шляху до PostgreSQL системи OS X.
Це основна вимога, яка визначає, який саме PostgreSQL запускається, і саме те, що мені кажуть, призводить до більшості цих проблем.