PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wenn eine Site in einer Umgebung mit mehreren Servern länger als 15 Minuten inaktiv ist, verliert der Server die Verbindung zur PostgreSQL-Datenbank

Überprüfen Sie Ihre TCP/IP-Socket-Timeout-Einstellungen auf allen Routern/Switches zwischen den Anwendungsservern und den Datenbankservern. Schalten Sie auch die Protokollierung auf der Datenbankseite ein und beobachten Sie den gesamten Lebenszyklus der Verbindung und vergleichen Sie das Timing mit den Fehlern in Ihrer Anwendung. Ich schlage vor, die folgenden Einstellungen in postgresql.conf zu aktivieren, bis Sie eine Vorstellung davon haben, wonach Sie suchen müssen:

log_connections = on
log_disconnections = on
log_statement = all

Diese können mit einem SIGHUP des Postgres-Prozesses aktiviert werden (oder "SELECT pg_reload_conf();" als Datenbank-Superuser ausführen.

).

Ich werde sagen, dass Sie als letzte Meldung vor dem eigentlichen Trennen eine "Verbindung vom Remote-Host geschlossen" oder etwas Ähnliches haben.

Ich habe das schon einmal gesehen und es waren die Timeout-Einstellungen auf einem Zwischenschalter, die es verursacht haben.