Восстановление Postgresql после обновления до OSX 10.7.3 Lion
У меня проблема, описанная в:
Восстановление Postgresql после обновления до OSX 10.7 Lion
но не понял.
Приложение Postgres, генерирующее ошибку, находится в /usr/bin/psql
,
но правильный
/Library/PostgreSQL/9.1/bin/psql
.
Когда я добавляю позже мой путь в .bash_profile
(или даже в /etc/paths
), удалите и установите жемчуг PG, тогда я все равно получаю сообщение об ошибке:
.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:1161:in `initialize': could not connect to server: Permission denied (PG::Error) Is the server running locally and accepting
Я попробовал это несколько раз, также с помощью опции:
-- --with-pg-config=/Library/PostgreSQL/9.1/bin/pg_config
Любая идея?
EDIT:
Прочитав больше сообщений (например http://www.iainlbc.com/2011/10/osx-lion-postgres-could-not-connect-to-database-postgres-after-homebrew-installation),
Я просто сделал следующее:
sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/
И это сработало. Я не знаю, почему. У меня есть две установки Postgres? Где приложение лежит за файлом /usr/bin/psql
?
Ответы
Ответ 1
После запуска find / -name .s.PGSQL.5432 -ls
я заметил, что результат:
47366187 0 srwxrwxrwx 1 postgres wheel 0 Дек 3 15:15/private/tmp/.s.PGSQL.5432
Обратите внимание, что файл сокета PGSQL /private/tmp/.s.PGSQL.5432
Используя ваше предложение выше (но немного изменив его), я сделал это:
sudo ln -s /private/tmp /var/pgsql_socket
Перезагрузился терминал, и он сработал.