Estoy trabajando en la creación de un servidor psql y, por tanto, me gustaría que postgres se ejecutara siempre que el ordenador esté encendido, independientemente de si estoy conectado. (La máquina está ejecutando OS X Yosemite.) He configurado un demonio de lanzamiento para hacer esto, pero no funciona. syslog
da los siguientes mensajes de error:
Jul 14 17:43:01 user@server sudo[276]: jaia : TTY=ttys000 ;
PWD=/Users/jaia ; USER=root ; COMMAND=/usr/bin/nano /Library/LaunchDaemons/homeb
rew.mxcl.postgresql.plist
Jul 14 17:44:35 localhost com.apple.xpc.launchd[1] (homebrew.mxcl.postgresql): T
his service is defined to be constantly running and is inherently inefficient.
Jul 14 17:44:44 localhost com.apple.xpc.launchd[1] (homebrew.mxcl.postgresql): S
ervice only ran for 9 seconds. Pushing respawn out by 1 seconds.
Jul 14 17:44:45 localhost com.apple.xpc.launchd[1] (homebrew.mxcl.postgresql): S
ervice only ran for 0 seconds. Pushing respawn out by 10 seconds.
Después, el último mensaje se repite indefinidamente.
Aquí está mi archivo .plist. La razón de sudo -u _postgres
es que postgres no puede ejecutarse como Root, lo que los demonios de lanzamiento hacen por defecto.
<?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>sudo</string>
<string>-u</string>
<string>_postgres</string>
<string>/usr/local/bin/pg_ctl</string>
<string>-D</string>
<string>/usr/local/var/postgres</string>
<string>start</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>_postgres</string>
<key>WorkingDirectory</key>
<string>/usr/local/var/postgres</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/postgres/server.log</string>
</dict>
</plist>
MÁS INFORMACIÓN: Cargar el trabajo manualmente vía ssh da el mensaje de error poco gramatical "Could not find domain for". Cargarlo en la propia máquina da "/Library/LaunchDaemons/homebrew.mxcl.postgresql.plist: El archivo existe".
¿Qué puede estar fallando aquí?