Well... if the application crashes then normally the TCP connection would drop as well.

The problem is that in many environments it can take a *long* time for the backend to realize that the client went away. The tcp_keepalives_* settings are intended to try and reduce that time to a more reasonable value, but bear in mind that they depend on the TCP stack provided by the OS/environment, so it's not guaranteed to work perfectly.

On Feb 6, 2007, at 3:21 AM, Shoaib Mir wrote:

There is such timeout from the database server for the idle connections but yes you can always use firewall settings in order to do that and kill idle connections.

--
Shoaib Mir
EnterpriseDB ( www.enterprisedb.com)

On 2/6/07, Gurjeet Singh <[EMAIL PROTECTED]> wrote: On 1/30/07, Alvaro Herrera <[EMAIL PROTECTED]> wrote:
Shoaib Mir wrote:
> While debugging an application, I just wanted to confirm from the list here:
>
> Suppose I have a long running transaction which has a few updates and
> inserts running on some specific tables which means it has acquired
> Exclusive locks too during the transaction on specific table but if just > before commit the client app crashes and the commit is never sent, will the
> Exclusive locks be automatically released?

Yes (assuming the backend dies in the process, which may not happen if
the app dies silently and while not waiting for anything from the
server).


Do you mean that the Ex-lock will be held indefinitely in the following situation"

i) Appln. acquires Exclusive lock.
ii) Appln. sleeps or is interacting with human.
ii) Appln. crashes.

Doesn't the backend kill itself if it detects that the other side of the communincation channel has gone down?


--
[EMAIL PROTECTED]
[EMAIL PROTECTED] gmail | hotmail | yahoo }.com


--
Jim Nasby                                            [EMAIL PROTECTED]
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to