Как запустить psql в Mac OS X?


55

Я установил PostgreSQL на компьютер с Mac OS X, используя программу установки в один клик . Затем я пытаюсь получить доступ к PostgreSQL с помощью psqlкоманды, но она не доступна.

Я получаю это сообщение:

psql
-bash: psql: command not found

Нужно ли устанавливать что-то еще? Или как я могу настроить PostgreSQL, чтобы я мог использовать его на своем компьютере?

Ответы:


42

Найдите бинарный файл psql. (В терминале запустите locate psql | grep /binи запишите путь. (В моем случае это так /opt/local/lib/postgresql90/bin/, как он был установлен с помощью MacPorts.)

Затем отредактируйте .bash_profileфайл в вашей домашней папке (например, mate -w ~/.bash_profileпредполагая, что у вас есть textmate), и добавьте нужную строку, чтобы он находился в вашем пути, например:

export PATH=/opt/local/lib/postgresql90/bin/:$PATH

После сохранения файла прочитайте файл ( . ~/.bash_profile) или откройте новый терминал и введите psql.


18
Спасибо, мой путь к PSQL был, /Library/PostgreSQL/9.0/bin/psqlи я создал .bash_profileфайл, как вы предложили, и он прекрасно работает.
Джонас

1
@Jonas: +1 Ваш комментарий действительно должен быть отдельным ответом и должен быть принятым ответом, потому что это местоположение по умолчанию при установке Postgres на Mac!
Стефан Хаберл

Команда locate изначально не работала для меня, мне пришлось сначала запустить, а sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistзатем дождаться окончания findпроцесса
magritte

также должен был создать файл .bash_profile, Mac Noob здесь! ;-) работает сейчас, хотя, спасибо!
магрит

3
лучшеexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs

11

Я настоятельно рекомендую использовать Postgres.appкоманду Heroku, которая также поддерживается ими!

У него есть иконка меню и psqlпункт меню :

Меню иконки Postgres.app

Вы также найдете psqlздесь, если вы хотите ту же версию, что и сервер (путь может отличаться в зависимости от версии):

/Applications/Postgres.app/Contents/MacOS/bin

Если вы хотите, вы можете добавить этот путь в ваш скрипт запуска для psqlнепосредственного выполнения :

PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH

ПРЕДОСТЕРЕЖЕНИЕ! AFAIK, Postgres.appне поддерживает соединения через сокеты Unix (я не уверен, что это такое ...), и поддерживает только соединения TCP / IP. Так что не паникуйте, если вам не удается подключиться из других программ.


4
В последней документации postgresapp.com/documentation/cli-tools.html указан путь как/Applications/Postgres.app/Contents/Versions/latest/bin
Брайан Эш,

На самом деле комментарий оказывается лучшим ответом :)
mythicalcoder

лучшеexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs

Я посмотрел, но не смог найти никакой связи между Heroku teamприложением. Можете поделиться, как они связаны?
Роу Гавирель,

11

Появляется «способ» установки клиента, если вы хотите использовать hombrew, это:

$ brew install postgresql

тогда psql(командная строка клиента) теперь будет доступна вам (она также устанавливает локальный сервер / базу данных Postgres, но вам не нужно использовать это, если все, что вам нужно - это клиент).

По-видимому, в psql есть также «обертка», чтобы сделать ее более «удобной для пользователя», также доступной через homebrew ( brew install pgcli), если это интересно.

Pgcli is a command line interface for Postgres with auto-completion and syntax highlighting.

Другой вариант - установить libpqпакет homebrew, но вы должны принудительно связать его (что в наши дни не рекомендуется)

 brew link --force libpq  

или добавьте его в свой PATH (что приветствуется), см. указания, которые доморощенный говорит после установки.


4
По-видимому, невозможно использовать psqlбез установки всего движка базы данных. Я нашел pgcliболее удобным, когда, например, вы хотите, чтобы все ваши сервисы были докернизированы. Путь @rogerdpack!
Сол Мартинес

4

В соответствии с руководством по установке после завершения установки в папке «Приложения» Postgres должны быть ярлыки для StackBuilder, pgAdmin3 и psql :

Вы также найдете дополнительные ярлыки для запуска pgAdmin, интерфейса командной строки psql и для доступа к документации PostgreSQL.

Если есть такие ярлыки, проверьте, куда указывает psql.


Спасибо, это тоже сработало. Я не видел эту документацию, только документацию postgresql.org.
Джонас
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.