PostgreSQL keepalives help

PostgreSQL keepalives help

am 29.07.2010 22:16:44 von Kananda

--_000_4A704C139DFD804DB74FFB9CC0BE79FC790B5631C3SBSsteploca l_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hy,

I have a system working with the client-server structure and PostgreSQL 8.4=
..
My problem is that if a client who is editing a record and lose his connect=
ion to the server,the TCPIP connection is still considered! So, the record =
stay allocated for the client in my database.
I need the records are free for edit, in few minutes. Therefore I set the K=
EEPALIVE configuration in my "postgresql.conf":

tcp_keepalives_idle =3D 60 # TCP_KEEPIDLE, in seconds;
tcp_keepalives_interval =3D 60 # TCP_KEEPINTVL, in seconds;
tcp_keepalives_count TCP_KEEPCNT =3D 5 #;

After making these settings and restart the server, the system continues to=
function the same way: Just breaks the connection TCPIP after two hours an=
d then deallocates the records in PostgreSQL. I need a efficient and safe w=
ay for the PostgreSQL understand that is to break these connections as conf=
igured! I need help, urgent!

Thanks,

Kananda S Silveira - Desenvolvedora .NET / Analista de Banco de Dados
STEP SOFTWARE Tecnologia e Projetos LTDA
kananda@stepsoftware.com.br / +55(48)84=
17-8121

--_000_4A704C139DFD804DB74FFB9CC0BE79FC790B5631C3SBSsteploca l_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


1">



Hy,

 

I have a system working w=
ith the client-server structure and PostgreSQL 8.4.


My problem is that if a client who is editing a record and lose his connect=
ion to the server,the TCPIP connection is still considered! So, the record =
stay allocated for the client in my database.


I need the records are free for edit, in few minutes. Therefore I set the K=
EEPALIVE configuration in my "postgresql.conf":

 

tcp_keepalives_idle =3D 6=
0 # TCP_KEEPIDLE, in seconds;


tcp_keepalives_interval =3D 60 # TCP_KEEPINTVL, in seconds;

tcp_keepalives_count TCP_KEEPCNT =3D 5 #;

 

After making these settin=
gs and restart the server, the system continues to function the same way: J=
ust breaks the connection TCPIP after two hours and then deallocates the re=
cords in PostgreSQL. I need a efficient
and safe way for the PostgreSQL understand that is to break these connecti=
ons as configured! I need help, urgent!

 

Thanks,

 


3">Kananda S Silveira -
Desenvolvedora .NET=
/ Analista de Banco de Dados

ng>STEP SOFTWARE Tecnologia e Projetos LTDA<=
/strong>






--_000_4A704C139DFD804DB74FFB9CC0BE79FC790B5631C3SBSsteploca l_--

Re: [GENERAL] PostgreSQL keepalives help

am 30.07.2010 02:02:14 von Scott Marlowe

!!! Please do not post to multiple lists. Pick one, see what bites
you get, wait, then try another if no one answers. I'm removing all
but pgsql-admin from this post !!!

On Thu, Jul 29, 2010 at 2:16 PM, Kananda wrote:
> Hy,
>
> I have a system working with the client-server structure and PostgreSQL 8.4.

What OS?

> My problem is that if a client who is editing a record and lose his
> connection to the server,the TCPIP connection is still considered! So, the
> record stay allocated for the client in my database.
> I need the records are free for edit, in few minutes. Therefore I set the
> KEEPALIVE configuration in my "postgresql.conf":
>
> tcp_keepalives_idle = 60 # TCP_KEEPIDLE, in seconds;
> tcp_keepalives_interval = 60 # TCP_KEEPINTVL, in seconds;
> tcp_keepalives_count TCP_KEEPCNT = 5 #;
>
> After making these settings and restart the server, the system continues to
> function the same way: Just breaks the connection TCPIP after two hours and
> then deallocates the records in PostgreSQL. I need a efficient and safe way
> for the PostgreSQL understand that is to break these connections as
> configured! I need help, urgent!

I'll assume you're on linux, in which case try setting those values
with sysctl like so:

Edit /etc/sysctl.conf. add these lines at the bottom:

net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 2
net.ipv4.tcp_keepalive_intvl = 30

Then run "sudo sysctl -p"

See if the changes took effect:

sysctl -a|grep keepa

--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

RES: [GENERAL] PostgreSQL keepalives help

am 30.07.2010 13:58:10 von Kananda

No.. I'm not in linux! OS: Windows 7 (client) / Windows Server 2008 (server)

Thanks

Kananda S Silveira - Desenvolvedora .NET / Analista de Banco de Dados
STEP SOFTWARE Tecnologia e Projetos LTDA
kananda@stepsoftware.com.br / +55(48)8417-8121
________________________________________
De: Scott Marlowe [scott.marlowe@gmail.com]
Enviado: quinta-feira, 29 de julho de 2010 21:02
Para: Kananda
Cc: pgsql-admin@postgresql.org
Assunto: Re: [GENERAL] PostgreSQL keepalives help

!!! Please do not post to multiple lists. Pick one, see what bites
you get, wait, then try another if no one answers. I'm removing all
but pgsql-admin from this post !!!

On Thu, Jul 29, 2010 at 2:16 PM, Kananda wrot=
e:
> Hy,
>
> I have a system working with the client-server structure and PostgreSQL 8=
..4.

What OS?

> My problem is that if a client who is editing a record and lose his
> connection to the server,the TCPIP connection is still considered! So, the
> record stay allocated for the client in my database.
> I need the records are free for edit, in few minutes. Therefore I set the
> KEEPALIVE configuration in my "postgresql.conf":
>
> tcp_keepalives_idle =3D 60 # TCP_KEEPIDLE, in seconds;
> tcp_keepalives_interval =3D 60 # TCP_KEEPINTVL, in seconds;
> tcp_keepalives_count TCP_KEEPCNT =3D 5 #;
>
> After making these settings and restart the server, the system continues =
to
> function the same way: Just breaks the connection TCPIP after two hours a=
nd
> then deallocates the records in PostgreSQL. I need a efficient and safe w=
ay
> for the PostgreSQL understand that is to break these connections as
> configured! I need help, urgent!

I'll assume you're on linux, in which case try setting those values
with sysctl like so:

Edit /etc/sysctl.conf. add these lines at the bottom:

net.ipv4.tcp_keepalive_time =3D 300
net.ipv4.tcp_keepalive_probes =3D 2
net.ipv4.tcp_keepalive_intvl =3D 30

Then run "sudo sysctl -p"

See if the changes took effect:

sysctl -a|grep keepa


--=20
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin