Как добавить Postgres на Mac OS с MAMP в PATH? - PullRequest
0 голосов
/ 10 апреля 2019

Я следую этому руководству о том, как запустить Postgres на MAC OS X с MAMP . Но я не могу добавить PostgreSQL к моей переменной PATH. Когда я запускаю export PATH="/Library/PostgreSQL/11/bin", я получаю эту ошибку:

prompt_context: 13: команда не найдена: whoami
prompt_background_jobs: 1: команда не найдена: wc
prompt_background_jobs: 2: команда не найдена: awk

Вот именно то, что я сделал:

  • Я скачал PostgreSQL 11.2 с Enterprise DB
  • Я установил его с помощью установщика:
    • имя пользователя: postgres
    • пароль: postgres
    • порт: 5433

Папка PostgreSQL теперь находится здесь: /Library/PostgreSQL. Внутри есть папка с именем 11. Внутри /Library/PostgreSQL/11 я вижу папку bin и папку data.

В моей папке Applications есть еще одна папка, которая называется PostgreSQL 11. Здесь я вижу папку Documentation и некоторые другие программы, которым я верю:

  • Строитель приложений
  • pgAdmin 4
  • Перезагрузить конфигурацию
  • Оболочка SQL (psql)

Следующая ошибка появляется, когда я игнорирую установку переменной PATH и запускаю su postgres:

su: Извините

или sudo postgres:

Запрещено выполнение «root» сервера PostgreSQL.
Сервер должен быть запущен под непривилегированным идентификатором пользователя, чтобы предотвратить
возможный компромисс безопасности системы. Смотрите документацию для
дополнительная информация о том, как правильно запустить сервер

Кроме того, выполнение psql дает мне эту ошибку, потому что PostgreSQL не включен в мои переменные среды:

psql: не удалось подключиться к серверу: нет такого файла или каталога
Сервер работает локально и принимает
подключений к доменному сокету Unix "/tmp/.s.PGSQL.5432"?

Примечание: эта ошибка спрашивает, принимает ли сервер сокет домена Unix с портом 5432, а я установил PostgreSQL на порт 5433, что с этим? Переход к /Library/PostgreSQL/11/bin с cd и запуск sudo ./psql (должен запускаться исполняемый файл Unix psql) выдает мне ту же ошибку.


Ресурсы, которые больше мне не помогали:

1 Ответ

1 голос
/ 11 апреля 2019

Когда вы запускаете export PATH="/Library/PostgreSQL/11/bin", вы сообщаете системе, что все необходимые вам команды находятся в этом единственном каталоге. Поскольку вам также нужны стандартные системные утилиты, такие как wc, вам также необходимо включить каталоги, в которых они находятся, в ваш PATH. Обычно вы делаете это, чтобы просто добавить каталоги postgres в список каталогов, в которых ищутся команды:

export PATH="/Library/PostgreSQL/11/bin:$PATH"
...