Estoy trabajando en la configuración de un servidor psql y, por lo tanto, me gustaría que Postgres se ejecute siempre que la computadora esté encendida, independientemente de si la he iniciado sesión. (La máquina ejecuta OS X Yosemite). Configuré un demonio de inicio 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 de eso, el último mensaje se repite indefinidamente.
Aquí está mi archivo .plist. El motivo de sudo -u _postgres
es que postgres no se puede ejecutar como root, lo que los demonios de lanzamiento ejecutan de forma predeterminada.
<?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: Al cargar el trabajo manualmente a través de ssh aparece el mensaje de error no gramatical "No se pudo encontrar el dominio para". Al cargarlo en la máquina, aparece "/Library/LaunchDaemons/homebrew.mxcl.postgresql.plist: el archivo existe".
¿Qué podría salir mal aquí?