Devemos notar que se uma query é enviada para o servidor e a conexão é perdida (cliente tirado da tomada) a query continuará e o servidor não ficará sabendo da desconexão. Outros DBAs inconformados com isso, reclamaram na lista psql-geral e até sugeriram que o postgres verificasse a conexão de tempos em tempos, claro, essa opção foi descartada pois é ineficiente. Deveria existir uma maneira de fazer isso sem precisar usar ou desviar mais recursos. Por problemas no protocolo de rede, isso não existe. Só é possível saber quando o postgres faz um hit na rede, ou seja, quando vai devolver o resultado da query.
Se sua aplicação mantém a conexão por muito tempo em idle (pessoal tomando cafezinho) é possível baixar o keepalive_idle e no caso de duas premissas ocorrerem, a conexão será liberada. 1ª premissa: A conexão está idle? 2ª premissa: O cliente não respondeu nenhuma das checagens de conexão? Se estas duas premissas forem verdadeiras, a conexão pode ser desfeita. Se a conexão estiver apenas idle, ela continuará. Por isto é seguro baixar o keepalive_idle, pois se sua aplicação fica muito tempo em idle, mas a conexão ainda existe, a aplicação não será desconectada. -- Tarcisio F. Sassara _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
