PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar as configurações do tcp_keepalives no Postgresql?


Eu acho que você precisa configurar seu sistema operacional em vez disso. A alteração dos parâmetros de manutenção de atividade por programas ainda não é amplamente suportada. Isso deve ajudá-lo a:
Usar TCP keepalive para detectar erros de rede

Também seus parâmetros são mal escolhidos. Se tcp_keepalives_count=1 funcionou, então mesmo um pacote keepalive perdido derrubará sua conexão. E pacotes únicos se perdem com frequência. Eu usaria o seguinte em /etc/sysctl.conf no MacOSX/FreeBSD:
net.inet.tcp.keepidle =60000
net.inet.tcp.keepintvl =10000
O SO irá então descartar conexões no máximo 140 segundos (60 segundos de inatividade + 8 pacotes keepalive em intervalos de 10 segundos) após perder a conectividade.