23

Я недавно установил Postgres на свой Mac через Homebrew. (Возможно, он уже был установлен, он не работал)

brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Теперь я пытаюсь запустить его с launchctl:

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

... но я получаю ошибку:

/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation not permitted

Что означает эта ошибка? Что я делаю неправильно? Как я могу решить проблему?

3 ответа3

82

Возможно, вы используете launchctl внутри Tmux или Screen.

Tmux и Screen - терминальные мультиплексоры, которые порождают несколько "экранов", между которыми вы можете легко переключаться в одном терминале.

По неизвестной мне причине запуск launchctl внутри Tmux никогда не работает и выдает ошибку Operation not permitted . Запустите его внутри обычной оболочки, и он, вероятно, будет работать нормально.

2

Вот шаги, которые вы, возможно, должны предпринять:

Удалить предыдущую установку Postgres:

brew remove postgres
rm ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Установите новую версию:

brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

Данные из вашей предыдущей установки необходимо обновить для совместимости с Postgres 9.4+: http://www.postgresql.org/docs/9.4/static/upgrading.html.

Похоже, что вам нужно две установки Postgres для обновления вашей базы данных, и я не хотел беспокоиться об этом, поэтому я просто пересоздал базу данных с новой версией:

mv /usr/local/var/postgres /usr/local/var/old-postgres
initdb -D /usr/local/var/postgres

Теперь запустите Postgres (если не используете tmux ):

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

Проверьте журналы на наличие проблем:

tail /usr/local/var/postgres/server.log
0

Решает ли проблема с brew doctor или иным образом?

(Я пока не могу оставлять комментарии, но это может помочь решить проблему)

Изменить - я бы запустить:

brew doctor
brew update
brew doctor
brew cleanup

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .