Re: Idle session timeout?

Поиск
Список
Период
Сортировка
От Sean Murphy
Тема Re: Idle session timeout?
Дата
Msg-id 4640FB2D.8050906@equipoint.com
обсуждение исходный текст
Ответ на Re: Idle session timeout?  (Scott Marlowe <smarlowe@g2switchworks.com>)
Ответы Re: Idle session timeout?  (Paul Lambert <paul.lambert@autoledgers.com.au>)
Re: Idle session timeout?  (Scott Marlowe <smarlowe@g2switchworks.com>)
Список pgsql-general
Scott Marlowe wrote:
> On Tue, 2007-05-08 at 15:59, Sean Murphy wrote:
>> Scott Marlowe wrote:
>>> On Tue, 2007-05-08 at 12:19, Sean Murphy wrote:
>>>> Tom Lane wrote:
>>>>> Sean Murphy <Sean.Murphy@equipoint.com> writes:
>>>>>> I'm WAY out of my depth here, but my impression, based on the
>>>>>> circumstances, is that there is some sort of an idle session timeout
>>>>>> kicking in (most likely on the client side) and dropping the connection.
>>>>> There's no such timeout in the Postgres server, for sure.  I would
>>>>> actually bet that your problem is in some router between the client and
>>>>> the server.  In particular, routers that do NAT address mapping
>>>>> typically have a timeout after which they will forget the mapping for an
>>>>> idle connection.  If you've got one of those, see if it'll let you
>>>>> change the timeout.
>>>>>
>>>>> If you can't do that, you might think about teaching your client-side
>>>>> code to send dummy queries every so often.
>>>>>
>>>>>             regards, tom lane
>>>>>
>>>> I've already maxed out the connection timeout at the firewall... and
>>>> I've been using dummy queries every five minutes, but it just feels like
>>>> a crutch to do so.
>>> Have you looked into tcp keepalive settings?
>>>
>>> net.ipv4.tcp_keepalive_intvl = 75
>>> net.ipv4.tcp_keepalive_probes = 9
>>> net.ipv4.tcp_keepalive_time = 500
>>>
>>> Not sure if those settings will help with an NAT router or not but it's
>>> worth a try. Pgsql 8.2 can set those for you.
>>>
>> I may be celebrating prematurely,
>
> Never stopped me :)
>
>>  but resetting the tcp_keepalive
>> parameters seems to have done the trick - I left a pgAdmin connection
>> that *always* drops after inactivity up while I went to lunch and it was
>> still alive when I got back.
>>
>> Is there a way to alter the tcp_keepalive settings on an app-by-app
>> basis rather than for the whole system?
>
> Well, you could set it on individual workstations instead of on the
> server.  I.e. if you set tcp_keepalive on your workstation to 500, but
> leave Wally and Dilbert set at the default 7200 then they'd still
> timeout and you wouldn't.
>

Unfortunately, my individual workstations are all running Windows...:(
any idea if/where this could be set in MS-land?

В списке pgsql-general по дате отправления:

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: Idle session timeout?
Следующее
От: Paul Lambert
Дата:
Сообщение: Re: Idle session timeout?