PostgreSQL provoca apagados lentos con OS X Server en Mavericks

Descubrí que en OS X Server en Mavericks, los procesos de PostgreSQL están causando retrasos en el apagado. Durante un apagado detallado, obtengo el siguiente resultado (acortado):

com.apple.launchd                      System: Still alive with 1/7 (normal/anonymous) children.
*.anonymous.pg_receivexlog             PID is still valid
*.anonymous.postgres_real              PID is still valid
*.anonymous.postgres_real              PID is still valid
*.anonymous.Python                     PID is still valid
*.anonymous.pg_receivexlog             PID is still valid
*.anonymous.postgres_real              PID is still valid
com.apple.DeviceManagement.postgres    PID is still valid

El (*) se reemplaza por una cadena aleatoria, diferente para cada elemento.

No tengo experiencia con PostgreSQL y no uso ninguno de los componentes del servidor OS X relacionados con la base de datos (principalmente Xcode y VPN), por lo que no tengo idea de por dónde empezar.

Respuestas (2)

La com.apple.DeviceManagement.postgreslínea me hace pensar que esto podría estar relacionado con los servicios de Profile Manager. ¿Muestra Profile Manager ejecutándose en Server.app? Si no está utilizando este servicio, deshabilitarlo puede ayudar a detener los retrasos en el apagado.

Alternativamente, si necesita mantener estos servicios en funcionamiento, puede valer la pena mirar algunos archivos de registro en algún lugar (¿o? /var/log/system.log) /var/log/devicemgr/*para ver si el servicio del administrador de perfiles (o cualquier otro) se está quejando.

El administrador de perfiles no está, y nunca ha estado, activado en este servidor. Además, system.log no tiene ninguna entrada relevante que haya visto y he leído algunos otros registros, también sin nada que parezca relevante.

Cualquier número de servicios en OS X Server usa Postgres. En mi servidor, por ejemplo, el Wiki lo usa.

Mientras el servidor aún se está ejecutando, intente ps ax | grep postgres | lessy probablemente verá una serie de procesos, los primeros serán casi con certeza algunos scripts que inician Postgres y estos deberían decirle dónde se encuentran los registros; dirá algo como Es posible que también -c log_directory=/Library/Server/Wiki/Logsdesee mire /Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgrescuál es el script de Python que debe usarse para iniciar Postgres por los servicios del servidor.

Esto lo iniciará en el camino para descubrir su problema.