Lỗi trong khi cố gắng bắt đầu Postgres được cài đặt qua Homebrew: Thao tác không được phép


24

Gần đây tôi đã cài đặt Postgres trên máy Mac của mình thông qua Homebrew. (Tôi có thể đã cài đặt nó không chạy)

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

Bây giờ tôi đang cố gắng bắt đầu với launchctl:

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

... nhưng tôi đang gặp lỗi:

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

Lỗi này nghĩa là gì? Tôi đang làm gì sai? Làm thế nào tôi có thể khắc phục vấn đề?


Rõ ràng brew / OSX đôi khi yêu cầu khởi động lại trước khi mọi thứ hoạt động. Trước khi tất cả chúng ta vào chế độ giải quyết vấn đề: Bạn đã thử tắt và bật lại chưa?
bất cứ lúc nào

Khởi động lại không thay đổi bất cứ điều gì.
Neil

Đồng ý, khởi động lại không giải quyết được vấn đề.
Andrew

Câu trả lời:


84

Có thể là bạn đang sử dụng launchctlbên trong Tmux hoặc Màn hình.

Tmux và Sàng lọc một bộ ghép kênh đầu cuối sinh ra nhiều "màn hình" mà bạn có thể dễ dàng chuyển đổi giữa trong một thiết bị đầu cuối.

Vì một số lý do mà tôi không biết, chạy launchctlbên trong Tmux không bao giờ hoạt động và phát ra lỗi Operation not permitted. Chạy nó bên trong một vỏ bình thường và nó có thể sẽ hoạt động tốt.


Cảm ơn! Bạn nói đúng, tôi đã sử dụng tmux! Tuy nhiên, bây giờ tôi dường như đang gặp phải một vấn đề khác. Sử dụng launchctlbên ngoài tmux, tôi thấy "Hoạt động đã được tiến hành", nhưng tôi không thể kết nối với Postgres.
Andrew

Tôi đã xoay sở để giải quyết vấn đề của mình thông qua một số kết hợp của unloadtrình khởi chạy tác nhân khởi động, loại bỏ cài đặt cũ của Postgres, di chuyển thư mục dữ liệu cũ và cài đặt lại phiên bản mới nhất.
Andrew

Cuối cùng tôi vấp phải điều này và trả lời tại sao tôi phải vật lộn với hơn một tháng. Cuối cùng tôi cũng biết lý do cảm ơn vì điều này ...
kenju254

2
Một giải pháp cho vấn đề này là sử dụng phiên reattach-to-user như đã đề cập ở đây: apple.stackexchange.com/questions/41412/ trên trong .tmux.conf
bibstha

2

Dưới đây là các bước bạn có thể cần thực hiện:

Xóa cài đặt Postgres trước đó:

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

Cài đặt phiên bản mới:

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

Dữ liệu từ bản cài đặt trước của bạn sẽ cần được nâng cấp để tương thích với Postgres 9.4+: http://www.postgresql.org/docs/9.4/static/upgrad.html

Có vẻ như bạn cần hai lần cài đặt Postgres để nâng cấp cơ sở dữ liệu của mình và tôi không bận tâm đến điều đó, vì vậy tôi chỉ tạo lại cơ sở dữ liệu bằng phiên bản mới:

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

Bây giờ khởi chạy Postgres (bên ngoài tmuxnếu bạn đang sử dụng):

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

Kiểm tra các bản ghi cho bất kỳ vấn đề:

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

0

Việc chạy có brew doctorgiải quyết được vấn đề hay không.

(Tôi chưa thể đăng bình luận nhưng điều này có thể giúp khắc phục vấn đề)

Chỉnh sửa - Tôi sẽ chạy:

brew doctor
brew update
brew doctor
brew cleanup

Không giúp đỡ, ngay cả sau khi xóa bất kỳ cảnh báo từ brew doctor.
Neil
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.