Các hướng dẫn ở phần cuối của cài đặt cung cấp một giải pháp để bắt đầu PostgreSQL khi người dùng đăng nhập:Cách tự động khởi động PostgreSQL được cài đặt bằng Homebrew là gì?
cp /usr/local/Cellar/postgresql/9.1.3/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Tôi đã hy vọng rằng nếu tôi đặt plist trong/Library/LaunchAgents/thay vào đó, nó sẽ bắt đầu mà không chờ đợi để tôi đăng nhập. Thật không may, đó không phải là cách nó hoạt động. Tôi đã không tìm thấy hướng dẫn chỉnh sửa plist tốt và tôi thực sự sợ cố gắng để tinker với nó. Tôi đoán vấn đề nằm với khóa UserName, nhưng tôi không muốn loại bỏ nó và chỉ hy vọng nó hoạt động.
Đây là plist tạo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.postgresql</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/postgres</string>
<string>-D</string>
<string>/usr/local/var/postgres</string>
<string>-r</string>
<string>/usr/local/var/postgres/server.log</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>my_username</string>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/postgres/server.log</string>
</dict>
</plist>
Hóa ra giải pháp đơn giản như di chuyển plist sang LaunchDaemons thay vì LaunchAgents. – burger