Re: Keep-alive support

Поиск
Список
Период
Сортировка
От Jeroen T. Vermeulen
Тема Re: Keep-alive support
Дата
Msg-id 17164.125.24.223.202.1164868383.squirrel@webmail.xs4all.nl
обсуждение исходный текст
Ответ на Re: Keep-alive support  (Tomasz Myrta <jasiek@klaster.net>)
Ответы Re: Keep-alive support
Список pgsql-interfaces
On Thu, November 30, 2006 03:31, Tomasz Myrta wrote:

> I used keepalive the same way as you (reconfiguring socket directly) and
> I don't remember libpq trying to reconnect itself. I think it's a
> libpqxx's behaviour - I didn't use it, but it looks like it is called
> "reactivation".

That's right.  It's libpqxx, not libpq, that restores the connection.  (It
couldn't really be any other way because libpq doesn't have enough
information to know it's safe--you could be in the middle of a
transaction, or you could be losing a temp table).  Automatic reactivation
can also be disabled explicitly if you don't want it (or just *when* you
don't want it--e.g. when you're working with temp tables).

I do think that the long TCP timeouts are something that should be handled
at the lower levels.  We can't really do real keepalives, I guess, simply
because libpq is synchronous to the application.  But perhaps we could
demand that the server at least acknowledge a request in some way within a
particular time limit?  It'd have to be at the lowest level possible and
as "cheap" as possible, so it doesn't break when the server is merely very
busy.


Jeroen




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

Предыдущее
От: Tomasz Myrta
Дата:
Сообщение: Re: Keep-alive support
Следующее
От: Leandro Lucarella
Дата:
Сообщение: Re: Keep-alive support