<div dir="ltr">Hi,<div>in many setups in our labs we have &quot;stuck&quot; connections:</div><div>some fit the FAQ, but they seem to remain in &quot;active&quot; state forever (until we restart pgpool):</div><div>this is reproducing all the time but the scenario is unknown.</div><div><br></div><div>examples the output was copied today a few minutes ago from a few setups:</div><div><u>setup 1:</u></div><div>node #1:</div><div><div> psql -Upostgres -h172.18.255.41 -p5432 -c &quot;SELECT pid,state,query_start,query,waiting FROM pg_catalog.pg_stat_activity WHERE state !=&#39;idle&#39; AND query_start &lt; current_timestamp - interval &#39;30 minutes&#39; ORDER BY query_start;&quot;</div><div> pid  | state  |          query_start          | query  | waiting</div><div>------+--------+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+---------</div><div> 3083 | active | 2017-01-29 15:16:16.907158+00 | SELECT count(*) FROM pg_class AS c, pg_namespace AS n WHERE c.oid = to_regclass(&#39;&quot;pg_description&quot;&#39;) AND c.relnamespace = n.oid AND n.nspname = &#39;pg_catalog&#39; | f</div><div> 6526 | active | 2017-01-29 15:17:28.657637+00 | SELECT count(*) FROM pg_class AS c, pg_namespace AS n WHERE c.oid = to_regclass(&#39;&quot;pg_description&quot;&#39;) AND c.relnamespace = n.oid AND n.nspname = &#39;pg_catalog&#39; | f</div><div> 6527 | active | 2017-01-29 15:17:28.657663+00 | SELECT count(*) FROM pg_class AS c, pg_namespace AS n WHERE c.oid = to_regclass(&#39;&quot;pg_description&quot;&#39;) AND c.relnamespace = n.oid AND n.nspname = &#39;pg_catalog&#39; | f</div><div>(3 rows)</div></div><div><br></div><div><u>node #2:</u></div><div><div> psql -Upostgres -h172.18.255.42 -p5432 -c &quot;SELECT pid,state,query_start,query,waiting FROM pg_catalog.pg_stat_activity WHERE state !=&#39;idle&#39; AND query_start &lt; current_timestamp - interval &#39;30 minutes&#39; ORDER BY query_start;&quot;</div><div>  pid  |        state        |          query_start          |    query  | waiting</div><div>-------+---------------------+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------</div><div> 26340 | idle in transaction | 2017-01-29 21:56:29.025673+00 | select count(*) as cnt from (select this_.id as id1_4_0_, this_.version as version2_4_0_, this_.update_date as update_d3_4_0_, this_.trigger_date as trigger_4_4_0_, this_.occurrence_date as occurren5_4_0_, this_.state_user_id as state_us6_4</div><div>_0_, this_.action_user_id as action_u7_4_0_, this_.resource_id as resource8_4_0_, this_.parameter01 a</div><div>s paramete9_4_0_, this_.parameter02 as paramet10_4_0_, this_.parameter03 as paramet11_4_0_, this_.par</div><div>ameter04 as paramet12_4_0_, this_.parameter05 as paramet13_4_0_, this_.note as note14_4_0_, this_.ala</div><div>rm_definition_id as alarm_d15_4_0_, this_.severity as severit16_4_0_, this_.domain_id as domain_17_4_</div><div>0_, this_.state as state18_4_0_, this_.invoking_controller as invokin19_4_0_, this_.invoking_element</div><div>as invokin20_4_0_, this_.sub_module_id as sub_mod21_4_0_, this_.sub_instance_id as sub_ins22_4_0_, th</div><div>is_.resource_element_id as resourc23_4_0_, this_.resource_parent_element_id as resourc24_4_0_ from al</div><div>arms this_ where this_.resource_id in ($1, $2, $3, $4, $5, $6, $7, $8, $9, $ | f (1 row)</div><div style="text-decoration:underline"><br></div></div><div><br></div><div><u>setup 2 (currently has only 1 postgres/pgpool node):</u></div><div><div>psql -Upostgres -h172.18.255.41 -p5432 -c &quot;SELECT pid,state,query_start,query,waiting FROM pg_catalog.pg_stat_activity WHERE state !=&#39;idle&#39; AND query_start &lt; current_timestamp - interval &#39;30 minutes&#39; ORDER BY query_start;&quot;</div><div>  pid  |        state        |          query_start          |                       query                                                              | waiting</div><div>-------+---------------------+-------------------------------+---------------------------------------------------------------------------------------------------------------------------------+---------</div><div> 10143 | idle in transaction | 2017-01-26 13:34:48.460062+00 | select submodule0_.id as id1_22_0_, submodule0_.name as name2_22_0_ from events_sub_modules submodule0_ where submodule0_.id=$1 | f</div><div> 10134 | idle in transaction | 2017-01-26 14:15:46.345789+00 | select submodule0_.id as id1_22_0_, submodule0_.name as name2_22_0_ from events_sub_modules submodule0_ where submodule0_.id=$1 | f</div><div>(2 rows)</div></div><div><br></div><div><br></div><div><u>setup 3:</u></div><div>node1:</div><div><div>psql -Upostgres -h172.18.255.41 -p5432 -c &quot;SELECT pid,state,query_start,query,waiting FROM pg_catalog.pg_stat_activity WHERE state != &#39;idle&#39; AND query_start &lt; current_timestamp - interval &#39;30 minutes&#39; ORDER BY query_start;&quot;</div><div> pid  | state  |          query_start          |                       query   | waiting</div><div>------+--------+-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+---------</div><div> 5506 | active | 2017-01-31 00:04:39.128256+00 | SELECT count(*) FROM pg_class AS c, pg_namespace AS n WHERE c.oid = to_regclass(&#39;&quot;pg_description&quot;&#39;) AND c.relnamespace = n.oid AND n.nspname = &#39;pg_catalog&#39; | f</div><div> 5466 | active | 2017-01-31 00:04:39.12857+00  | SELECT count(*) FROM pg_class AS c, pg_namespace AS n WHERE c.oid = to_regclass(&#39;&quot;pg_description&quot;&#39;) AND c.relnamespace = n.oid AND n.nspname = &#39;pg_catalog&#39; | f</div><div> 5465 | active | 2017-01-31 00:04:39.129839+00 | SELECT count(*) FROM pg_class AS c, pg_namespace AS n WHERE c.oid = to_regclass(&#39;&quot;pg_description&quot;&#39;) AND c.relnamespace = n.oid AND n.nspname = &#39;pg_catalog&#39; | f</div><div>(3 rows)</div></div><div><br></div><div>unfortunately, there are more examples, some with more than 10 stuck connections, sometimes it gets autovacuum &quot;stuck&quot; in active state,</div><div>we also had instances in which stuck connections were doing updates and caused many transaction waiting for them to end and release locks, but we haven&#39;t encountered this in a dew days.</div><div><br></div><div>if you need us to provide more information, just let us know.</div><div><div>Please help us :-)</div><div><br></div></div><div>we are using:</div><div>Postgres 9.5.5</div><div>PG-Pool 3.6.1</div><div>Hibernate/JDBC</div><div><br></div><div>Rolan.<br></div><div><br></div><div><br></div></div>