Як запустити 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.