Kesalahan ketika mencoba memulai Postgres yang diinstal melalui Homebrew: Operasi tidak diizinkan

24

Saya baru saja menginstal Postgres di Mac saya via Homebrew. (Saya mungkin sudah menginstalnya tidak berjalan)

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

Sekarang saya mencoba memulainya dengan launchctl:

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

... tapi saya mendapat kesalahan:

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

Apa artinya kesalahan ini? Apa yang saya lakukan salah? Bagaimana saya bisa memperbaiki masalah ini?

Andrew
sumber
Rupanya minuman / OSX kadang-kadang membutuhkan restart sebelum semuanya berfungsi. Sebelum kita semua masuk ke mode pemecahan masalah: Apakah Anda mencoba mematikannya dan hidup lagi ?
agtoever
Mem-boot ulang tidak mengubah apa pun.
Neil
Setuju, mem-boot ulang tidak menyelesaikan masalah.
Andrew

Jawaban:

84

Bisa jadi Anda menggunakan launchctlbagian dalam Tmux atau Layar.

Tmux dan Screen sebuah terminal multiplexer yang menelurkan banyak "layar" yang dapat dengan mudah Anda alihkan di dalam satu terminal.

Untuk beberapa alasan yang tidak saya ketahui, menjalankan launchctlbagian dalam Tmux tidak pernah berfungsi, dan memancarkan kesalahan Operation not permitted. Jalankan di dalam shell normal dan itu mungkin akan berfungsi dengan baik.

Neil
sumber
Terima kasih! Anda benar, saya menggunakan tmux! Namun, saya tampaknya mengalami masalah yang berbeda sekarang. Menggunakan di launchctlluar tmux, saya melihat "Operasi sudah dalam proses", namun saya tidak dapat terhubung ke Postgres.
Andrew
Saya berhasil menyelesaikan masalah saya melalui beberapa kombinasi dari unloadagen peluncuran, menghapus instalasi lama Postgres, memindahkan direktori data lama, dan menginstal ulang versi terbaru.
Andrew
Akhirnya saya menemukan ini dan menjawab mengapa saya harus berjuang lebih dari sebulan. Akhirnya saya tahu alasannya terima kasih untuk ini ...
kenju254
2
Solusi untuk ini adalah dengan menggunakan sesi reattach-to-user seperti yang disebutkan di sini: apple.stackexchange.com/questions/41412/… di .tmux.conf Anda
bibstha
2

Berikut langkah-langkah yang perlu Anda ambil:

Hapus instalasi Postgres sebelumnya:

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

Instal versi baru:

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

Data dari instalasi Anda sebelumnya perlu ditingkatkan agar kompatibel dengan Postgres 9.4+: http://www.postgresql.org/docs/9.4/static/upgrading.html

Sepertinya Anda memerlukan dua instalasi Postgres untuk meningkatkan basis data Anda, dan saya tidak peduli untuk itu, jadi saya hanya membuat ulang basis data dengan versi baru:

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

Sekarang luncurkan Postgres (di luar tmuxjika Anda menggunakannya):

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

Periksa log untuk masalah apa pun:

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

Apakah menjalankan brew doctormenyelesaikan masalah atau mengubah apa pun?

(Saya belum dapat memposting komentar tetapi ini dapat membantu memperbaiki masalah ini)

Sunting - Saya akan menjalankan:

brew doctor
brew update
brew doctor
brew cleanup
ckreon
sumber
Tidak membantu, bahkan setelah menghapus peringatan dari brew doctor.
Neil