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

55

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

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

psql
-bash: psql: command not found

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

Jonas
источник

Ответы:

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. Так что не паникуйте, если вам не удается подключиться из других программ.

Eonil
источник
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 (что приветствуется), см. указания, которые доморощенный говорит после установки.

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

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

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

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

Милен А. Радев
источник
Спасибо, это тоже сработало. Я не видел эту документацию, только документацию postgresql.org.
Джонас