Re: keepalive in libpq using - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: keepalive in libpq using
Date
Msg-id AANLkTikznZld7svAA1ayjHfVjPLRlljOYCNLkPw57b7F@mail.gmail.com
Whole thread Raw
In response to Re: keepalive in libpq using  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: keepalive in libpq using
List pgsql-hackers
On Wed, Jul 7, 2010 at 10:04 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Tue, Jul 6, 2010 at 1:08 PM, Pavel Golub <pavel@microolap.com> wrote:
>> While I'm very excited about enabling keepalives in libpq, I want to
>> know how can I use this functionality in my application?
>>
>> Let's imagine that I connect to a server with keepalives option, other
>> options (keepalives_idle, keepalives_interval, keepalives_count) are
>> used either. Then network goes down. So, how will I know that
>> connection is dead? Any callback function? Or should I check PQstatus
>> periodically?
>
> I'm not sure, exactly.  I think what'll happen is that if you're
> trying to read data from the remote server, the connection will
> eventually break instead of hanging forever, but I'm not exactly sure
> what that'll look like at the libpq level.  I'm not sure what effect
> it'll have on an idle connection.

When network goes down while receiving result from server, you will
get PGRES_FATAL_ERROR from PQresultStatus(). Also you can get the
error message "could not receive data from server: Connection timed out"
via PQerrorMessage().

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: ALTER TABLE SET STATISTICS requires AccessExclusiveLock
Next
From: Takahiro Itagaki
Date:
Subject: Re: patch (for 9.1) string functions