Skip site navigation (1) Skip section navigation (2)

Very long "<IDLE> in transaction" query

From: "Gnanakumar" <gnanam(at)zoniac(dot)com>
To: <pgsql-admin(at)postgresql(dot)org>
Subject: Very long "<IDLE> in transaction" query
Date: 2012-05-03 10:18:35
Message-ID: 008101cd2916$1c023b20$5406b160$@com (view raw or flat)
Thread:
Lists: pgsql-admin
Hi,

Recently, in our Production server, we found a "single query" being held up
in "<IDLE> in transaction" for more than 19 hours using the following query:
select date_trunc('second', current_timestamp - query_start) as runtime,
datname as database_name, current_query from pg_stat_activity where
current_query != '<IDLE>' order by 1 desc

but we're clueless which was the root cause of this issue and still hunting.
As we know, query output doesn't show up the actual query/statement.

We then ran the 3rd query available from PostgreSQL Wiki - Lock Monitoring
http://wiki.postgresql.org/wiki/Lock_Monitoring  From query result output, I
could infer only the following but still not able to find out the real root
cause:
	1) 2 tables are involved (table1 and table2)
	2) Mostly table1's indexes are appearing in the output.

Pasted below result output containing only "<IDLE> in transaction".  For
security reasons, I've masked/renamed table names and index names in
"relname" column.  Though all index names are renamed to as
"table1_xxxxx_indx", all are different index names and not the same index.
Yes, we do have more than 30 indexes in table1.

Can somebody help me out what is going wrong/causing these "<IDLE> in
transaction"?

datname |            relname            | transactionid |      mode       |
granted | usename |             substr             |          query_start
|       age        | procpid 
---------+-------------------------------+---------------+-----------------+
---------+---------+--------------------------------+-----------------------
--------+------------------+---------
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx  		 |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table2                        |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_pk                     |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_idx              |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx_indx             |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx__indx            |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1                        |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb |                               |     668748028 | ExclusiveLock   |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx__indx            |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740
 prodndb | table1_xxxxx__indx            |               | AccessShareLock |
t       | dbuser  | <IDLE> in transaction          | 2012-05-01
14:56:53.617912-04 | 19:20:59.644261  |   14740

But no rows were returned for the 2nd query available in PostgreSQL Wiki -
Lock Monitoring.

We're running PostgreSQL v8.2.22 and pgpool v3.1.1 (only connection pooling
feature is used).

Regards,
Gnanam



Responses

pgsql-admin by date

Next:From: Jan LentferDate: 2012-05-03 11:15:37
Subject: Re: Very long "<IDLE> in transaction" query
Previous:From: sgmDate: 2012-05-03 08:05:08
Subject: Re: postgresql stream replication question

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group