PostgreSQL verursacht langsames Herunterfahren mit OS X Server in Mavericks

Ich habe festgestellt, dass auf OS X Server in Mavericks die PostgreSQL-Prozesse Verzögerungen beim Herunterfahren verursachen. Während eines ausführlichen Herunterfahrens erhalte ich die folgende (gekürzte) Ausgabe:

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

Das (*) wird durch eine zufällige Zeichenfolge ersetzt, die für jedes Element unterschiedlich ist.

Ich habe keine Erfahrung mit PostgreSQL und verwende keine der datenbankbezogenen OS X Server-Komponenten (hauptsächlich Xcode und VPN), daher habe ich keine Ahnung, wo ich anfangen soll.

Antworten (2)

Die com.apple.DeviceManagement.postgresZeile lässt mich denken, dass dies mit Profilmanagerdiensten zusammenhängen könnte. Wird angezeigt, dass der Profil-Manager in Server.app ausgeführt wird? Wenn Sie diesen Dienst nicht nutzen, kann es hilfreich sein, ihn zu deaktivieren, um die Verzögerungen beim Herunterfahren zu stoppen.

/var/log/system.logAlternativ, wenn Sie diese Dienste am Laufen halten müssen, kann es sich lohnen, irgendwo ( oder ?) in einigen Protokolldateien nachzusehen, /var/log/devicemgr/*ob sich der Profilverwaltungsdienst (oder andere) beschwert.

Der Profilmanager ist auf diesem Server nicht aktiviert und war es auch nie. Darüber hinaus enthält system.log keine relevanten Einträge, die ich gesehen habe, und ich habe einige andere Protokolle überflogen, auch ohne relevante Einträge.

Eine beliebige Anzahl von Diensten auf OS X Server verwenden Postgres. Auf meinem Server verwendet es zum Beispiel das Wiki.

Während der Server noch läuft, versuchen Sie es ps ax | grep postgres | lessund Sie werden wahrscheinlich eine Reihe von Prozessen sehen, die ersten werden mit ziemlicher Sicherheit einige Skripte sein, die Postgres starten, und diese sollten Ihnen mitteilen, wo sich die Protokolle befinden - es wird so etwas wie Sie möchten vielleicht auch -c log_directory=/Library/Server/Wiki/Logssagen Sehen Sie sich an /Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgres, welches Python-Skript zum Starten von Postgres durch Serverdienste verwendet werden sollte.

Dies wird Sie auf den Weg bringen, Ihr Problem zu entdecken.