Як запустити 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якщо припустити, що ви текстовий редактор) та додайте потрібний рядок, щоб він був у вашому шляху, наприклад:

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 тут! ;-) зараз працюю, хоча, дякую!
magritte

3
кращеexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs

11

Я настійно рекомендую використовувати Postgres.appвід команди Heroku, яка також їх підтримує!

Він має значок меню, а в меню є psqlпункт:

Меню піктограм Postgres.app menubar

Тут ви також знайдете 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програмою та додатком. Чи можете ви поділитися, як вони пов’язані?
Roee Gavirel

11

З'являється "спосіб" встановити клієнт, якщо ви хочете використовувати hombrew, це:

$ brew встановити postgresql

тоді psql(командний рядок клієнта) тепер буде доступний для вас (він також встановлює локальний сервер / базу даних Postgres, але вам не доведеться використовувати це, якщо клієнтом потрібно лише все).

Мабуть, є також "обгортка" для psql, щоб зробити її більш "зручною для користувачів", також доступною через homebrew ( brew install pgcli) у випадку цікавого.

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

Інший варіант - встановити libpqпакунок з домашньою мовою, але вам доведеться примусово зв’язати його (що в даний час не рекомендується)

 brew link --force libpq  

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


4
Мабуть, немає способу використання psqlбез встановлення всього двигуна бази даних. Мені було pgcliзручніше, коли, наприклад, ви хочете, щоб усі ваші послуги були докерізовані. Шлях до @rogerdpack!
Саул Мартінес

4

Відповідно до посібника з установки після завершення встановлення, у папці Application Postgres повинні бути ярлики для StackBuilder, pgAdmin3 та psql :

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

Якщо є такі ярлики, перевірте, куди вказує psql.


Дякую, це також спрацювало. Я не бачив цієї документації, лише документацію на postgresql.org.
Йонас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.