Обсуждение: Issue with processes open for clients

Поиск
Список
Период
Сортировка

Issue with processes open for clients

От
"jose fuenmayor"
Дата:
Hi all , I have a question or a doubt, when I ran psql remotely it opens a process on the server, so I issue a query (select count(*) from 80millionsrowstable) then I can see that process taking cpu and mem from the server (using top), then I cancel the psql on the client, I expect to see that process gone but that is not the case it is still there! and taking resources!.

When I cancelled the query issued by the client is not supposed to eliminate the process open for him on the server?

The process stays hanging there?
why is that?.
Is there any parameter on postgresql or the operating system that can tune?
I am using mandriva linux free 2006
kernel 2.6.12
Postgresql 8.0.8
phpPgAdmin 4.0.1 (running in a web server whit php module 5.0.4)

Same thing using phpPgAdmin

Thanks in advance! I really aprecciate your help!

Re: Issue with processes open for clients

От
"Shoaib Mir"
Дата:
If you don't need the client connection after query has executed then just close that client connection or you can have it set in your firewall to kill such idle connections who are not doing anything.

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

On 11/10/06, jose fuenmayor < jafn82@gmail.com> wrote:
Hi all , I have a question or a doubt, when I ran psql remotely it opens a process on the server, so I issue a query (select count(*) from 80millionsrowstable) then I can see that process taking cpu and mem from the server (using top), then I cancel the psql on the client, I expect to see that process gone but that is not the case it is still there! and taking resources!.

When I cancelled the query issued by the client is not supposed to eliminate the process open for him on the server?

The process stays hanging there?
why is that?.
Is there any parameter on postgresql or the operating system that can tune?
I am using mandriva linux free 2006
kernel 2.6.12
Postgresql 8.0.8
phpPgAdmin 4.0.1 (running in a web server whit php module 5.0.4)

Same thing using phpPgAdmin

Thanks in advance! I really aprecciate your help!

Re: Issue with processes open for clients

От
"jose fuenmayor"
Дата:
Ok but what can i do with that information?

On 11/10/06, Shoaib Mir <shoaibmir@gmail.com> wrote:
Check pg_stat_activity for any queries that are in execution mode, where command_query will give you the query and you will also get the process ids for them in pg_stat_activity.


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

On 11/10/06, jose fuenmayor <jafn82@gmail.com > wrote:
Hi thanks for the answer, but....
Is not when the query is executed ,is when the user cancells the query or kill the client that he is using when this query has not finished, then the process in the server is not killed still there taking resources, it happens with some clients (psql, phpPgAdmin), how can I configurate the firewall to elminate idle connections? will this eliminate all conections that are not doing anything?, because in my case the client is killed but the process in  the server for that client not and continues taking resources.
thanks in advance!


On 11/10/06, Shoaib Mir < shoaibmir@gmail.com> wrote:
If you don't need the client connection after query has executed then just close that client connection or you can have it set in your firewall to kill such idle connections who are not doing anything.

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


On 11/10/06, jose fuenmayor < jafn82@gmail.com> wrote:
Hi all , I have a question or a doubt, when I ran psql remotely it opens a process on the server, so I issue a query (select count(*) from 80millionsrowstable) then I can see that process taking cpu and mem from the server (using top), then I cancel the psql on the client, I expect to see that process gone but that is not the case it is still there! and taking resources!.

When I cancelled the query issued by the client is not supposed to eliminate the process open for him on the server?

The process stays hanging there?
why is that?.
Is there any parameter on postgresql or the operating system that can tune?
I am using mandriva linux free 2006
kernel 2.6.12
Postgresql 8.0.8
phpPgAdmin 4.0.1 (running in a web server whit php module 5.0.4)

Same thing using phpPgAdmin

Thanks in advance! I really aprecciate your help!




Re: Issue with processes open for clients

От
imad
Дата:
I found it on postgresql archives:
http://archives.postgresql.org/pgsql-admin/2004-09/msg00261.php

This post was by Tom Lane, I hope this is what you want.

It will time out by itself eventually (order of a couple hours probably
--- it depends on your TCP stack).  You can try a SIGINT or SIGTERM.
SIGINT is safe but may or may not cause the backend to quit.  SIGTERM
will make it quit, but I'm not prepared to guarantee that SIGTERM won't
have bad side effects.  I'd suggest waiting...



--Imad
www.EnterpriseDB.com


On 11/11/06, jose fuenmayor <jafn82@gmail.com> wrote:
> Ok but what can i do with that information?
>
> On 11/10/06, Shoaib Mir <shoaibmir@gmail.com> wrote:
> > Check pg_stat_activity for any queries that are in execution mode, where
> command_query will give you the query and you will also get the process ids
> for them in pg_stat_activity.
> >
> >
> > Thanks,
> > -------
> > Shoaib Mir
> > EnterpriseDB (www.enterprisedb.com)
> >
> >
> > On 11/10/06, jose fuenmayor <jafn82@gmail.com > wrote:
> > > Hi thanks for the answer, but....
> > > Is not when the query is executed ,is when the user cancells the query
> or kill the client that he is using when this query has not finished, then
> the process in the server is not killed still there taking resources, it
> happens with some clients (psql, phpPgAdmin), how can I configurate the
> firewall to elminate idle connections? will this eliminate all conections
> that are not doing anything?, because in my case the client is killed but
> the process in  the server for that client not and continues taking
> resources.
> > > thanks in advance!
> > >
> > >
> > >
> > > On 11/10/06, Shoaib Mir < shoaibmir@gmail.com> wrote:
> > > > If you don't need the client connection after query has executed then
> just close that client connection or you can have it set in your firewall to
> kill such idle connections who are not doing anything.
> > > >
> > > > Thanks,
> > > > --------
> > > > Shoaib Mir
> > > > EnterpriseDB (www.enterprisedb.com)
> > > >
> > > >
> > > >
> > > > On 11/10/06, jose fuenmayor < jafn82@gmail.com> wrote:
> > > > > Hi all , I have a question or a doubt, when I ran psql remotely it
> opens a process on the server, so I issue a query (select count(*) from
> 80millionsrowstable) then I can see that process taking cpu and mem from the
> server (using top), then I cancel the psql on the client, I expect to see
> that process gone but that is not the case it is still there! and taking
> resources!.
> > > > >
> > > > > When I cancelled the query issued by the client is not supposed to
> eliminate the process open for him on the server?
> > > > >
> > > > > The process stays hanging there?
> > > > > why is that?.
> > > > > Is there any parameter on postgresql or the operating system that
> can tune?
> > > > > I am using mandriva linux free 2006
> > > > > kernel 2.6.12
> > > > > Postgresql 8.0.8
> > > > > phpPgAdmin 4.0.1 (running in a web server whit php module 5.0.4)
> > > > >
> > > > > Same thing using phpPgAdmin
> > > > >
> > > > > Thanks in advance! I really aprecciate your help!
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

Re: Issue with processes open for clients

От
"Simon Riggs"
Дата:
On Thu, 2006-11-09 at 19:54 +0000, jose fuenmayor wrote:
> Hi all , I have a question or a doubt, when I ran psql remotely it
> opens a process on the server, so I issue a query (select count(*)
> from 80millionsrowstable) then I can see that process taking cpu and
> mem from the server (using top), then I cancel the psql on the client,
> I expect to see that process gone but that is not the case it is still
> there! and taking resources!.
>
> When I cancelled the query issued by the client is not supposed to
> eliminate the process open for him on the server?

If you quit psql, then the server may not realise you have disconnected.
You need to issue a cancel, so that can be communicated to the server so
it knows to quit.

--
  Simon Riggs
  EnterpriseDB   http://www.enterprisedb.com



Re: Issue with processes open for clients

От
"jose fuenmayor"
Дата:
Thanks for your answer!
How can i issue a cancel?
thanks in advance!
On 11/10/06, Simon Riggs <simon@2ndquadrant.com> wrote:
On Thu, 2006-11-09 at 19:54 +0000, jose fuenmayor wrote:
> Hi all , I have a question or a doubt, when I ran psql remotely it
> opens a process on the server, so I issue a query (select count(*)
> from 80millionsrowstable) then I can see that process taking cpu and
> mem from the server (using top), then I cancel the psql on the client,
> I expect to see that process gone but that is not the case it is still
> there! and taking resources!.
>
> When I cancelled the query issued by the client is not supposed to
> eliminate the process open for him on the server?

If you quit psql, then the server may not realise you have disconnected.
You need to issue a cancel, so that can be communicated to the server so
it knows to quit.

--
  Simon Riggs
  EnterpriseDB   http://www.enterprisedb.com



Re: Issue with processes open for clients

От
adey
Дата:
Is there not a parameter in Postgres to timeout idle connections?

On 11/11/06, imad <immaad@gmail.com> wrote:
I found it on postgresql archives:
http://archives.postgresql.org/pgsql-admin/2004-09/msg00261.php

This post was by Tom Lane, I hope this is what you want.

It will time out by itself eventually (order of a couple hours probably
--- it depends on your TCP stack).  You can try a SIGINT or SIGTERM.
SIGINT is safe but may or may not cause the backend to quit.  SIGTERM
will make it quit, but I'm not prepared to guarantee that SIGTERM won't
have bad side effects.  I'd suggest waiting...



--Imad
www.EnterpriseDB.com


On 11/11/06, jose fuenmayor <jafn82@gmail.com> wrote:
> Ok but what can i do with that information?
>
> On 11/10/06, Shoaib Mir <shoaibmir@gmail.com> wrote:
> > Check pg_stat_activity for any queries that are in execution mode, where
> command_query will give you the query and you will also get the process ids
> for them in pg_stat_activity.
> >
> >
> > Thanks,
> > -------
> > Shoaib Mir
> > EnterpriseDB (www.enterprisedb.com)
> >
> >
> > On 11/10/06, jose fuenmayor <jafn82@gmail.com > wrote:
> > > Hi thanks for the answer, but....
> > > Is not when the query is executed ,is when the user cancells the query
> or kill the client that he is using when this query has not finished, then
> the process in the server is not killed still there taking resources, it
> happens with some clients (psql, phpPgAdmin), how can I configurate the
> firewall to elminate idle connections? will this eliminate all conections
> that are not doing anything?, because in my case the client is killed but
> the process in  the server for that client not and continues taking
> resources.
> > > thanks in advance!
> > >
> > >
> > >
> > > On 11/10/06, Shoaib Mir < shoaibmir@gmail.com> wrote:
> > > > If you don't need the client connection after query has executed then
> just close that client connection or you can have it set in your firewall to
> kill such idle connections who are not doing anything.
> > > >
> > > > Thanks,
> > > > --------
> > > > Shoaib Mir
> > > > EnterpriseDB (www.enterprisedb.com)
> > > >
> > > >
> > > >
> > > > On 11/10/06, jose fuenmayor < jafn82@gmail.com> wrote:
> > > > > Hi all , I have a question or a doubt, when I ran psql remotely it
> opens a process on the server, so I issue a query (select count(*) from
> 80millionsrowstable) then I can see that process taking cpu and mem from the
> server (using top), then I cancel the psql on the client, I expect to see
> that process gone but that is not the case it is still there! and taking
> resources!.
> > > > >
> > > > > When I cancelled the query issued by the client is not supposed to
> eliminate the process open for him on the server?
> > > > >
> > > > > The process stays hanging there?
> > > > > why is that?.
> > > > > Is there any parameter on postgresql or the operating system that
> can tune?
> > > > > I am using mandriva linux free 2006
> > > > > kernel 2.6.12
> > > > > Postgresql 8.0.8
> > > > > phpPgAdmin 4.0.1 (running in a web server whit php module 5.0.4)
> > > > >
> > > > > Same thing using phpPgAdmin
> > > > >
> > > > > Thanks in advance! I really aprecciate your help!
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend