Em 17 de agosto de 2012 13:25, Pedro B. Alves <[email protected]> escreveu:
>
>
>>
>> Tenho um cliente que acontece isso em um terminal também. Se parar de usar
>> por algum tempo, perde a conexão. Também é win xp. Só acontece neste
>> terminal, os demais continuam acessando, mesmo se parado por algum tempo.
>> Então, concluí que deve estar perdendo a conexão física, ou por mau contato,
>> ou por problema de placa de rede, ou então, por problema no windows. A perda
>> pode ser momentânea. Quando vai usar o micro, pode até estar acessando o
>> servidor, mas a conexão com o BD já era.
>>
>> Att.
>>
>> Ronei Heck
>> Clarion 6.1
>> Postgres
>>
>>
>
> Neste caso, igual ao meu, acho que deve ser algo com o banco de dados q mata
> a conexão.
> Vou colocar um timer para a cada X tempo ele faz uma consulta no banco, pra
> não ficar ociso.
>
> Claro que não é a melhor solução pois vai gerar trafego na rede
> desnecessário. Mas é a unica idéia que parece solucionar.

Sim, existe uma configuração de timeout para conexões TCP inativas no
Windows XP/Vista/7/2003/2008. Só que pesquisei e não consegui
encontrá-la, não lembro o nome e local do parâmetro. Já tive problemas
parecidos com o PostgreSQL em redes WAN, onde foi necessário subir
este parâmetro para algumas horas. Se algum astuto colaborador da
lista lembrar/conhecer esta configuração, seria ótimo, pois na época
um admin de redes Windows subiu para mim.

Só lembre que o Windows é um pouco "burro". Se por acaso sua conexão
cair, aumentar este parâmetro vai fazer com que, em alguns casos, a
conexão ainda mantenha-se existente no servidor e no PostgreSQL.
Parece que o Windows não informa ao SGBD que a conexão caiu, algo
assim. Se você usa pool de conexões isso pode "travar" sua aplicação
legal...

A idéia do Pedro não é feia. Já fiz isso antes em um sistema ERP
Desktop, fazendo um SELECT buscando data e hora do banco em intervalos
de 3 minutos. Mesmo com 500 conexões ao banco isso não afeta muita
coisa em tráfego não. Na minha visão de DBA mesmo uma aplicação
Desktop Client/Server deveria "Conectar --> Processar algo --> fechar
conexão". Pena que algumas ferramentas/IDE não permitam isso por causa
de seus componentes de acesso à dados...

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a