PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

In un ambiente multi-server, se un sito è inattivo per più di 15 minuti, il server perde la connessione al database PostgreSQL

Controllare le impostazioni di timeout del socket TCP/IP su tutti i router/switch tra i server delle applicazioni e i server del database. Attiva anche la registrazione sul lato del database e osserva l'intero ciclo di vita della connessione e confronta i tempi con gli errori nell'applicazione. Suggerisco di attivare le seguenti impostazioni in postgresql.conf finché non avrai un'idea di cosa cercare:

log_connections = on
log_disconnections = on
log_statement = all

Questi possono essere attivati ​​con un SIGHUP del processo postgres (o eseguire "SELECT pg_reload_conf();" come superutente del database.

Sarò che hai una "connessione chiusa dall'host remoto" o qualcosa di simile all'ultimo messaggio prima che venga registrata la disconnessione effettiva.

L'ho già visto prima e sono state le impostazioni di timeout su un interruttore intermedio a causarlo.