Niedawno zainstalowałem Postgres na komputerze Mac za pośrednictwem Homebrew. (Być może już go zainstalowałem, nie działało)
brew install postgres
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Teraz próbuję zacząć od launchctl
:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
... ale pojawia się błąd:
/usr/local/Cellar/postgresql/9.4.0/homebrew.mxcl.postgresql.plist: Operation not permitted
Co oznacza ten błąd? Co ja robię źle? Jak mogę rozwiązać problem?
macos
postgresql
Andrzej
źródło
źródło
Odpowiedzi:
Możliwe, że używasz
launchctl
w Tmux lub Screen.Tmux i Screen to multipleksery terminali, które spawnują wiele „ekranów”, między którymi można łatwo przełączać się w jednym terminalu.
Z nieznanego mi powodu uruchamianie
launchctl
w Tmux nigdy nie działa i powoduje błądOperation not permitted
. Uruchom go w normalnej powłoce, a prawdopodobnie będzie dobrze działać.źródło
tmux
! Wydaje mi się jednak, że mam teraz inny problem. Używająclaunchctl
pozatmux
, widzę „Operacja już trwa”, ale nie mogę połączyć się z Postgres.unload
wtyczki agenta uruchamiania, usunięcia starej instalacji Postgres, przeniesienia starego katalogu danych i ponownej instalacji najnowszej wersji.Oto kroki, które możesz podjąć:
Usuń poprzednią instalację Postgres:
Zainstaluj nową wersję:
Dane z poprzedniej instalacji będą musiały zostać zaktualizowane, aby były zgodne z Postgres 9.4+: http://www.postgresql.org/docs/9.4/static/upgrading.html
Wygląda na to, że potrzebujesz dwóch instalacji Postgres, aby zaktualizować bazę danych, i nie przejmowałem się tym, więc właśnie odtworzyłem bazę danych w nowej wersji:
Teraz uruchom Postgres (poza
tmux
jeśli go używasz):Sprawdź dzienniki pod kątem problemów:
źródło
Czy uruchomienie
brew doctor
rozwiązuje problem, czy w inny sposób coś podnosi?(Nie mogę jeszcze publikować komentarzy, ale może to pomóc rozwiązać problem)
Edytuj - uruchomiłbym:
źródło
brew doctor
.