Сломанный brew -установил postgresql на льве

Я знаю, что есть много вопросов, связанных с lion-postgresql, о переполнении стека уже, но никто, кажется, не решает мою проблему.

Я установил homebrew postgresql, и после этого все было в порядке. Затем я немного перепутал ссылку libpq.dylib в /usr/lib, чтобы приложение привязывалось к установленной версии brew, а не к установленной ОС. Как-то мне удалось сломать мою установку, делая это таким образом, что любой вызов psql дает следующую ошибку:

>psql
psql: invalid connection option "client_encoding"

переустановка postgresql с помощью 'brew remove postgresql', а другой 'brew install postgresql', похоже, не помогает (та же ошибка). Я также повторно связал /usr/lib/libpq.dylib, чтобы быть /usr/lib/libpq.5.dylib, и это то, что, как я считаю, было раньше.

Кроме того, потенциально связанная с этим проблема заключается в том, что мой сервер postgres, похоже, не хочет закрывать:

>pg_ctl -D /usr/local/var/postgres stop -s -m fast     
pg_ctl: server does not shut down

Кто-нибудь знает, что не так? В качестве альтернативы, как я могу полностью удалить и переустановить сервер и клиент postgres?

Ответ 1

Попробуйте /usr/local/bin/psql. Если это не сработает, взгляните на which psql.

Lion поставляется с установкой postgresql, и вы можете использовать запас psql вместо brew psql.

Или это может быть запущено и с помощью brew psql для подключения к экземпляру postgres Lion.

Убедитесь, что /usr/local/bin находится перед /usr/bin в $PATH. Проверьте echo $PATH.

Ответ 2

Исправлено, что сработало для меня:

  • если вы используете pgAdmin:

    show server_encoding;
    

    - bash -4.1 $export PGCLIENTENCODING = 'UTF8'  - bash -4.1 $psql

psql (9.3.3)  Введите "help" для справки.

postgres = #\l ...

поместите var в .profile или .bashrc

Ответ 3

Если вы установили postgresql через homebrew:

brew update
brew doctor

Неожиданные дилибы:     /usr/local/lib/libpq.5.dylib

Неожиданные файлы .la:     /usr/local/lib/psqlodbcw.la

brew upgrade postgresql

Ошибка: шаг brew link не завершился успешно

brew link --overwrite postgresql

Тогда вам будет хорошо запустить команду psql.

Ответ 4

если у вас есть brew doctor 'd и уже есть последняя версия postgres, запустите

brew unlink postgresql && brew link postgresql

затем

brew link --overwrite postgresql