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

Wie verwende ich tcp_keepalives-Einstellungen in Postgresql?

Ich denke, Sie müssen stattdessen Ihr Betriebssystem konfigurieren. Das Ändern von Keepalive-Parametern durch Programme wird noch nicht allgemein unterstützt. Dies sollte Ihnen helfen:
Verwenden von TCP-Keepalive zum Erkennen von Netzwerkfehlern

Auch deine Parameter sind schlecht gewählt. Wenn tcp_keepalives_count=1 funktioniert, dann wird selbst ein verlorenes Keepalive-Paket Ihre Verbindung unterbrechen. Und einzelne Pakete gehen oft verloren. Ich würde Folgendes in /etc/sysctl.conf verwenden unter MacOSX/FreeBSD:
net.inet.tcp.keepidle =60000
net.inet.tcp.keepintvl =10000
Das Betriebssystem unterbricht Verbindungen dann höchstens 140 Sekunden lang (60 Sekunden Leerlauf + 8 Keepalive-Pakete in 10-Sekunden-Intervallen) nach Verbindungsverlust.