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 по дате отправления: