Thread: Monitoring Connections

Monitoring Connections

From
"Aaron Bono"
Date:
Is there a way to get diagnostics on current connections to the database?  Specifically I am looking for:

1. How many current connections are there?
2. Who is connected (user name, database and from what IP address)?
3. When was the last time the connection was used?
4. When was the connection established?

I can get most of this information from the ps command but am having problem with getting the information on #3.

My problem is that I have a number of web sites running on the server all using different databases and/or user log ins and also using connection pooling.  Whenever I redeploy an application, the "old" connections do not appear to disconnect but new connections are established.  I fear that, since the application server is not actually restarting but just reloading the application, it is keeping old connections open when they really should be closed.  This is something I will need to fix in the application but I need to do some digging before I know this is indeed the problem.

I am using PostgreSQL 8.1.3 on CentOS.

Thanks!

--
==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

Re: Monitoring Connections

From
"Tomeh, Husam"
Date:
Query the pg_stat_activity.
For more detailed stats activities, you may query the pg_stat_* and pg_statio_*  system views.
 
 
--
  Husam
 


From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Aaron Bono
Sent: Wednesday, September 20, 2006 10:48 AM
To: pgsql admin
Subject: [ADMIN] Monitoring Connections

Is there a way to get diagnostics on current connections to the database?  Specifically I am looking for:

1. How many current connections are there?
2. Who is connected (user name, database and from what IP address)?
3. When was the last time the connection was used?
4. When was the connection established?

I can get most of this information from the ps command but am having problem with getting the information on #3.

My problem is that I have a number of web sites running on the server all using different databases and/or user log ins and also using connection pooling.  Whenever I redeploy an application, the "old" connections do not appear to disconnect but new connections are established.  I fear that, since the application server is not actually restarting but just reloading the application, it is keeping old connections open when they really should be closed.  This is something I will need to fix in the application but I need to do some digging before I know this is indeed the problem.

I am using PostgreSQL 8.1.3 on CentOS.

Thanks!

--
==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

**********************************************************************
This message contains confidential information intended only for the use of the addressee(s) named above and may contain information that is legally privileged.  If you are not the addressee, or the person responsible for delivering it to the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is strictly prohibited.  If you have received this message by mistake, please immediately notify us by replying to the message and delete the original message immediately thereafter.

Thank you.

                                                                                                                         FADLD Tag
**********************************************************************

Re: Monitoring Connections

From
"Tomeh, Husam"
Date:
Make that:  http://www.postgresql.org/docs/8.1/static/monitoring.html    8.1 docs rather..   :)
 
--
  Husam


From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Tomeh, Husam
Sent: Wednesday, September 20, 2006 11:22 AM
To: Aaron Bono; pgsql admin
Subject: Re: [ADMIN] Monitoring Connections

Query the pg_stat_activity.
For more detailed stats activities, you may query the pg_stat_* and pg_statio_*  system views.
 
 
--
  Husam
 


From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Aaron Bono
Sent: Wednesday, September 20, 2006 10:48 AM
To: pgsql admin
Subject: [ADMIN] Monitoring Connections

Is there a way to get diagnostics on current connections to the database?  Specifically I am looking for:

1. How many current connections are there?
2. Who is connected (user name, database and from what IP address)?
3. When was the last time the connection was used?
4. When was the connection established?

I can get most of this information from the ps command but am having problem with getting the information on #3.

My problem is that I have a number of web sites running on the server all using different databases and/or user log ins and also using connection pooling.  Whenever I redeploy an application, the "old" connections do not appear to disconnect but new connections are established.  I fear that, since the application server is not actually restarting but just reloading the application, it is keeping old connections open when they really should be closed.  This is something I will need to fix in the application but I need to do some digging before I know this is indeed the problem.

I am using PostgreSQL 8.1.3 on CentOS.

Thanks!

--
==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

**********************************************************************
This message contains confidential information intended only for the use of the addressee(s) named above and may contain information that is legally privileged.  If you are not the addressee, or the person responsible for delivering it to the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is strictly prohibited.  If you have received this message by mistake, please immediately notify us by replying to the message and delete the original message immediately thereafter.

Thank you.

                                                                                                                         FADLD Tag
**********************************************************************

Re: Monitoring Connections

From
"Aaron Bono"
Date:
On 9/20/06, Tomeh, Husam <htomeh@firstam.com> wrote:
Make that:  http://www.postgresql.org/docs/8.1/static/monitoring.html    8.1 docs rather..   :)
 
--
  Husam


From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Tomeh, Husam
Sent: Wednesday, September 20, 2006 11:22 AM
To: Aaron Bono; pgsql admin
Subject: Re: [ADMIN] Monitoring Connections

Query the pg_stat_activity.
For more detailed stats activities, you may query the pg_stat_* and pg_statio_*  system views.
 
 
--
  Husam
 


From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Aaron Bono
Sent: Wednesday, September 20, 2006 10:48 AM
To: pgsql admin
Subject: [ADMIN] Monitoring Connections

Is there a way to get diagnostics on current connections to the database?  Specifically I am looking for:

1. How many current connections are there?
2. Who is connected (user name, database and from what IP address)?
3. When was the last time the connection was used?
4. When was the connection established?

I can get most of this information from the ps command but am having problem with getting the information on #3.

My problem is that I have a number of web sites running on the server all using different databases and/or user log ins and also using connection pooling.  Whenever I redeploy an application, the "old" connections do not appear to disconnect but new connections are established.  I fear that, since the application server is not actually restarting but just reloading the application, it is keeping old connections open when they really should be closed.  This is something I will need to fix in the application but I need to do some digging before I know this is indeed the problem.

I am using PostgreSQL 8.1.3 on CentOS.

Thanks!

 
I checked the pg_stat_activity table and it doesn't give any more information than I got from the ps command.

Is there any way to find out the last time the connection was used?

Thanks,
Aaron

==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

Re: Monitoring Connections

From
"Tomeh, Husam"
Date:
The backend_start column in pg_stat_activity system view gives you the start time of the backend connection which's what you see in the ps command; however, the query_start column should give you the start time of last query within the connection.  The values of these columns may not be necessarily the same if you're using connection pooling. If you don't see the data for these columns, make sure to enable the stats collection on your pg postgresql.conf file (stats_*  parameters).
 
Regards, 

--
  Husam
 
 

From: aaron.bono@gmail.com [mailto:aaron.bono@gmail.com] On Behalf Of Aaron Bono
Sent: Wednesday, September 20, 2006 11:46 AM
To: Tomeh, Husam
Cc: pgsql admin
Subject: Re: [ADMIN] Monitoring Connections
 

 
I checked the pg_stat_activity table and it doesn't give any more information than I got from the ps command.

Is there any way to find out the last time the connection was used?

Thanks,
Aaron

==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

**********************************************************************
This message contains confidential information intended only for the use of the addressee(s) named above and may contain information that is legally privileged.  If you are not the addressee, or the person responsible for delivering it to the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is strictly prohibited.  If you have received this message by mistake, please immediately notify us by replying to the message and delete the original message immediately thereafter.

Thank you.

                                                                                                                         FADLD Tag
**********************************************************************

Re: Monitoring Connections

From
Jeff Frost
Date:
I wrote some slony task based documentation for Pervasive a few months
back. Now that they've decided to opt out of the postgres community I
understand they will be turning over the documentation to the community.
Hopefully we'll be able to make some use of this stuff.  Unfortunately, I'm
not sure who we could contact to get hold of this stuff.

On Wed, 20 Sep 2006, Tomeh, Husam wrote:

> The backend_start column in pg_stat_activity system view gives you the
> start time of the backend connection which's what you see in the ps
> command; however, the query_start column should give you the start time
> of last query within the connection.  The values of these columns may
> not be necessarily the same if you're using connection pooling. If you
> don't see the data for these columns, make sure to enable the stats
> collection on your pg postgresql.conf file (stats_*  parameters).
>
> Regards,
>
> --
>  Husam
>  http://firstdba.googlepages.com
>
>
> ________________________________
>
> From: aaron.bono@gmail.com [mailto:aaron.bono@gmail.com] On Behalf Of
> Aaron Bono
> Sent: Wednesday, September 20, 2006 11:46 AM
> To: Tomeh, Husam
> Cc: pgsql admin
> Subject: Re: [ADMIN] Monitoring Connections
>
> I checked the pg_stat_activity table and it doesn't give any more
> information than I got from the ps command.
>
> Is there any way to find out the last time the connection was used?
>
> Thanks,
> Aaron
>
>
> ==================================================================
>   Aaron Bono
>   Aranya Software Technologies, Inc.
>   http://www.aranya.com
>   http://codeelixir.com
> ==================================================================
>
> **********************************************************************
> This message contains confidential information intended only for the use of the addressee(s) named above and may
containinformation that is legally privileged.  If you are not the addressee, or the person responsible for delivering
itto the addressee, you are hereby notified that reading, disseminating, distributing or copying this message is
strictlyprohibited.  If you have received this message by mistake, please immediately notify us by replying to the
messageand delete the original message immediately thereafter. 
>
> Thank you.
>
>                                   FADLD Tag
> **********************************************************************
>

--
Jeff Frost, Owner     <jeff@frostconsultingllc.com>
Frost Consulting, LLC     http://www.frostconsultingllc.com/
Phone: 650-780-7908    FAX: 650-649-1954