Re: Postgres tcp_keepalive_xxxx parameters. - Mailing list pgsql-general

From José Luis Rando Calvo
Subject Re: Postgres tcp_keepalive_xxxx parameters.
Date
Msg-id 703597748CEE3C47BE68861E8EDD19F4DD0CD1@ESESSMB307.ericsson.se
Whole thread Raw
In response to Re: Postgres tcp_keepalive_xxxx parameters.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Benching Queries
List pgsql-general
Hi Tom,

First of all, thank you for your fast response!

I did not try to set up keepalives in client yet. This is a good point. We are using JDBC to connect to PG from JBoss
applicationserver.  
I have seen the JDBC documentation and keepalive can be enabled when creating the connection to the database:

http://jdbc.postgresql.org/documentation/head/connect.html

Unfortunately seems to be tricky to enable it because I guess it implies to change the Java code. In that case it is
notstraight forward. 
I do not know if there is a configuration file to set up this. I am going to look for it.

By the way, can you confirm me if keepalive behaves like I stated in my previous update...?

Thanks and best regards,

JL

-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: miércoles, 01 de octubre de 2014 17:04
To: José Luis Rando Calvo
Cc: pgsql-general@postgresql.org
Subject: Re: [GENERAL] Postgres tcp_keepalive_xxxx parameters.

jlrando <jose.luis.rando.calvo@ericsson.com> writes:
> We have an issue with postgres clients tha are being disconnected from
> database server after some time. Client is a web application which
> creates a pool of connections. Since client and server are on
> different VLANS I think the problem is that the FW which is routing
> traffic is droping idle connections after some time.

Probably.  It might be asymmetric; have you tried enabling keepalives from the client end, rather than the server?  If
usinglibpq, you can set keepalive parameters in the connection string: 
http://www.postgresql.org/docs/9.3/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS

If that doesn't fix it, you might want to get out Wireshark or a similar tool and verify that keepalive packets are
actuallygetting sent. 

            regards, tom lane


pgsql-general by date:

Previous
From: Néstor Boscán
Date:
Subject: Creating a PL/pgSQL function that returns multiple out parameters and refcursor
Next
From: Jonathan Vanasco
Date:
Subject: Benching Queries