最近、MacにHomebrewを介してPostgresをインストールしました。 (すでにインストールされている可能性がありますが、実行されていませんでした)
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
このエラーはどういう意味ですか?何が悪いのですか?どうすれば問題を解決できますか?
TmuxまたはScreen内でlaunchctl
を使用している可能性があります。
TmuxおよびScreenターミナルマルチプレクサーは、単一のターミナルで簡単に切り替えることができる複数の「スクリーン」を生成します。
私にはわからない何らかの理由で、Tmux内でlaunchctl
を実行しても機能せず、エラーOperation not permitted
が発生します。通常のシェル内で実行すると、おそらく正常に動作します。
以下に、実行する必要がある手順を示します。
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を2回インストールする必要があるようです。私はそれを気にする必要はなかったので、新しいバージョンでデータベースを再作成しました。
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
実行中brew doctor
問題を解決するか、何か問題が発生しますか?
(まだコメントを投稿することはできませんが、問題の解決に役立つ場合があります)
編集-私は実行します:
brew doctor
brew update
brew doctor
brew cleanup