Hallo zusammen,
unsere Anwendung greift mit mehreren Clients auf die Datenbank zu.
Mit pg_stat_activity kann ich den benutzern anzeigen, wer noch alles mit der Datenbank verbunden ist.
Jetzt musste ich aber feststellen, dass trotz sauberem Beenden unserer Anwendung Client - Verbindungen mit pg_stat_activity aufgelistet werden.
Die Anwendungen wurden wirklich korrekt beendet, Verbindungen vom Client vorher sauber getrennt und PC runtergefahren.
Gibt es dafür Konfigurationseinstellungen?
Ich würde die Prozesse ungerne mit pg_cancel_backend(pid int) töten.
Könnte ja ein Lebender dazwischen sein.
Du könntest alle (dis)connections loggen und prüfen. Ansonsten: Du kannst Dir ansehen, wie lange state_change her ist, und dann alle killen, die älter als X Tage sind oder so.
Das würde ich auch in Frage stellen. Es hängt sehr von der Qualität der Clientprogrammierung ab, ob tatsächlich alles beendet und getrennt ist. Es reicht nicht auf Anwendungsende, Rechner aus zu setzen.