Jaime Casanova wrote:
> 2010/2/24 Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>:
>> Alvaro Herrera wrote:
>>> Leonardo Castillo escribió:
>>>> Buenas tardes amigos listeros.
>>>>
>>>> Tengo una aplicación que se conecta a un servidor PostgreSQL 8.3, esta
>>>> aplicación es un CGI que corre en Apache. La misma tiene un tiempo máximo de
>>>> ejecución de 5 minutos. En algunos casos la ejecución del mismo es cortada
>>>> por el apache pues tardó 5 minutos y no devolvió respuesta y el proceso mio
>>>> muere, más no así es postgres.exe asociado a la conexión. Entonces he aqui
>>>> la primera pregunta, como hago para que estos backends de PostgreSQL mueran
>>>> al morir mi aplicación o como decirle al server postgres que el tiempo
>>>> máximo de ejecución de un backend es 5 minutos.
>>> Quizas deberias poner un statement_timeout=5min (o un poco menos) en
>>> Postgres para evitar este problema. Lo más sensato, en todo caso, es no
>>> tener consultas que demoren 5 minutos.
>>>
>> Y si el timeout esta dado por el cgi en si (digamos, abre la conexio,
>> tiene que mandar 500000 emails antes de escribir en alguna tabla),
>> entonces podrias ver las variables tcp_keepalives_*
>>
>
> por que matar la conexion? que no es mas razonable hacer que el cgi
> *cierre* la conexion?
> despues de todo el programador es el que realmente saber cuando la
> conexion ya no se necesita,
> un dia de estos vendras por aca reclamando porque el postgres decidio
> matar un proceso que tu
> si querias vivo aun
>
Ciertamente! Pero eso no formo parte de la pregunta inicial.