Esiste un'opzione di timeout per l'accesso remoto al database PostgreSQL?


9

Sto lavorando tramite pgAdmin III su un database PostgreSQL remoto. Dopo un periodo non così lungo (diciamo 10-15 minuti) senza fare nulla in pgAdmin, la connessione scade automaticamente. Ho quindi un messaggio di errore che mi chiede se voglio riconnettermi. Questa operazione richiede circa 10 secondi. e la struttura del database collassa, quindi devo riaprire gli schemi che avevo aperto prima.

C'è un modo per modificare un parametro di timeout da qualche parte in modo da evitare che la connessione scada per un periodo di tempo più lungo?

Risposte:


8

Una connessione al server PostgreSQL che si interrompe dopo 10-15 minuti è quasi certamente causata da un firewall di tracciamento dello stato (possibilmente utilizzando Network Address Translation (NAT)) tra il client e il server. Molti di questi firewall hanno timeout predefiniti di 15 minuti (900 secondi).

I tre parametri sul lato server, tcp_keepalives_idle, tcp_keepalives_interval, tcp_keepalives_countsono progettati per aiutare in queste situazioni. Vedere la documentazione disponibile qui: http://www.postgresql.org/docs/9.2/static/runtime-config-connection.html#GUC-TCP-KEEPALIVES-IDLE

Ci sono anche i parametri lato client per questo: keepalives, keepalives_idle, keepalives_interval, keepalives_count, che può essere inserita sulla connessione. Consulta la documentazione disponibile qui: http://www.postgresql.org/docs/9.2/static/libpq-connect.html#LIBPQ-KEEPALIVES


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Paul White 9
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.