Connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy

Started by M Tarkeshwar Raoabout 2 years ago5 messagesgeneral
Jump to latest
#1M Tarkeshwar Rao
m.tarkeshwar.rao@ericsson.com

Hi Tarkesh,

"
We are using libpq c client (Version : 14.10) of postgresql in our application to connect with postgresql database server (Version 14.10).
For making connection we are using libpq's API "PQsetdbLogin()".

Problem Statement : If our connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy.

Query : Is there any way we can provide values of "keepalives_idle, keepalives_interval, keepalives_count" client parameters in the API "PQsetdbLogin()" while creating the connection.
If yes, then can someone please provide the sample code for the same.
We need these parameters support at client side only.
"

Is there any other alternative approach using some configuration files from client side?

Thanks,
Tarkeshwar

#2M Tarkeshwar Rao
m.tarkeshwar.rao@ericsson.com
In reply to: M Tarkeshwar Rao (#1)

Hi all,

"
We are using libpq c client (Version : 14.10) of postgresql in our application to connect with postgresql database server (Version 14.10).
For making connection we are using libpq's API "PQsetdbLogin()".

Problem Statement : If our connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy.

Query : Is there any way we can provide values of "keepalives_idle, keepalives_interval, keepalives_count" client parameters in the API "PQsetdbLogin()" while creating the connection.
If yes, then can someone please provide the sample code for the same.
We need these parameters support at client side only.
"

Is there any other alternative approach using some configuration files from client side?

Thanks,
Tarkeshwar

#3Matthias Apitz
guru@unixarea.de
In reply to: M Tarkeshwar Rao (#2)
Re: Connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy

El día martes, marzo 05, 2024 a las 11:08:27 +0000, M Tarkeshwar Rao escribió:

Hi all,

"
We are using libpq c client (Version : 14.10) of postgresql in our application to connect with postgresql database server (Version 14.10).
For making connection we are using libpq's API "PQsetdbLogin()".

Problem Statement : If our connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy.

Query : Is there any way we can provide values of "keepalives_idle, keepalives_interval, keepalives_count" client parameters in the API "PQsetdbLogin()" while creating the connection.
If yes, then can someone please provide the sample code for the same.
We need these parameters support at client side only.
"

Is there any other alternative approach using some configuration files from client side?

An option could be to run the connection through an SSH tunnel and use
there the sshd(8) config parameter ClientAliveInterval.

HIH

matthias

--
Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub

I am not at war with Russia. Я не воюю с Россией.
Ich bin nicht im Krieg mit Russland.

#4M Tarkeshwar Rao
m.tarkeshwar.rao@ericsson.com
In reply to: Matthias Apitz (#3)
RE: Connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy

Hi Matthias,

Currently many customers are using this.
We want to use libpq library APIs only. Is there any support of keepalive at client side?

Regards
Tarkeshwar

-----Original Message-----
From: Matthias Apitz <guru@unixarea.de>
Sent: Tuesday, March 5, 2024 4:59 PM
To: M Tarkeshwar Rao <m.tarkeshwar.rao@ericsson.com>
Cc: pgsql-general@postgresql.org; Piyush Anand <piyush.anand@ericsson.com>; Neeraj Gupta G <neeraj.g.gupta@ericsson.com>
Subject: Re: Connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy

El día martes, marzo 05, 2024 a las 11:08:27 +0000, M Tarkeshwar Rao escribió:

Hi all,

"
We are using libpq c client (Version : 14.10) of postgresql in our application to connect with postgresql database server (Version 14.10).
For making connection we are using libpq's API "PQsetdbLogin()".

Problem Statement : If our connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy.

Query : Is there any way we can provide values of "keepalives_idle, keepalives_interval, keepalives_count" client parameters in the API "PQsetdbLogin()" while creating the connection.
If yes, then can someone please provide the sample code for the same.
We need these parameters support at client side only.
"

Is there any other alternative approach using some configuration files from client side?

An option could be to run the connection through an SSH tunnel and use there the sshd(8) config parameter ClientAliveInterval.

HIH

matthias

--
Matthias Apitz, ✉ guru@unixarea.de, https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-8bc62051d01460c7&amp;q=1&amp;e=8f12e60a-aafb-44bb-8a35-b4781b90d8c1&amp;u=http%3A%2F%2Fwww.unixarea.de%2F +49-176-38902045 Public GnuPG key: https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-a831eed841ce4cbb&amp;q=1&amp;e=8f12e60a-aafb-44bb-8a35-b4781b90d8c1&amp;u=http%3A%2F%2Fwww.unixarea.de%2Fkey.pub

I am not at war with Russia. Я не воюю с Россией.
Ich bin nicht im Krieg mit Russland.

#5Laurenz Albe
laurenz.albe@cybertec.at
In reply to: M Tarkeshwar Rao (#4)
Re: Connection remains idle for more than 15 minutes, then the connection drops by IPVS setting in k8s kube-proxy

On Tue, 2024-03-05 at 11:37 +0000, M Tarkeshwar Rao wrote:

We want to use libpq library APIs only. Is there any support of keepalive at client side?

Yes, there is.

Just add "keepalives_idle=60" to the connection string. See
https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-KEEPALIVES-IDLE

Yours,
Laurenz Albe