Hi all,

I have some idle transactions in PostgreSQL 9.2.4 server which never end.
My application was working fine on version 9.1 (BSD) but the problem
appeared immediately as we ported it to 9.2.4 on Linux. The idle operations
would frequently appear as COMMITs but sometimes I observed INSERTS as well.
Please note that each commit below refers to *very light* inserts of single
rows which are supposed to last milliseconds. However some of the just
never end even if they are not waiting on other operations. See below:

SELECT datname,usename,pid,client_addr,waiting,query_start,query FROM
pg_stat_activity;

datname  |  usename  |  pid  | client_addr | waiting |          query_start
         |                                    query

----------+-----------+-------+-------------+---------+-------------------------------
 AppQoSDB | appqosusr | 17015 | 127.0.0.1   | f       | 2013-10-15
10:21:38.501435+01 | select AppQoSConfig.get_ip_currentnode()
 AppQoSDB | appqosusr | 17016 | 127.0.0.1   | f       | 2013-10-15
10:21:38.502346+01 | COMMIT
 AppQoSDB | appqosusr | 17017 | 127.0.0.1   | f       | 2013-10-15
10:21:38.584794+01 | select AppQoSConfig.get_ip_currentnode()
 AppQoSDB | appqosusr | 17018 | 127.0.0.1   | f       | 2013-10-15
10:21:38.586073+01 | COMMIT
 AppQoSDB | appqosusr | 17019 | 127.0.0.1   | f       | 2013-10-15
09:20:32.724517+01 | select AppQoSConfig.get_ip_currentnode()
 AppQoSDB | appqosusr | 17021 | 127.0.0.1   | f       | 2013-10-15
10:21:38.622651+01 | select AppQoSConfig.get_ip_currentnode()
 AppQoSDB | appqosusr | 17020 | 127.0.0.1   | f       | 2013-10-15
09:20:32.724433+01 | select AppQoSConfig.get_ip_currentnode()
 AppQoSDB | appqosusr | 17022 | 127.0.0.1   | f       | 2013-10-15
10:21:37.368831+01 | select AppQoSConfig.get_ip_currentnode()
 AppQoSDB | appqosusr | 17024 | 127.0.0.1   | f       | 2013-10-15
09:20:32.828307+01 | COMMIT
 AppQoSDB | appqosusr | 17026 | 127.0.0.1   | f       | 2013-10-15
10:21:38.624378+01 | COMMIT
 AppQoSDB | appqosusr | 17023 | 127.0.0.1   | f       | 2013-10-15
09:20:32.828302+01 | COMMIT
 AppQoSDB | appqosusr | 17025 | 127.0.0.1   | f       | 2013-10-15
10:21:37.369869+01 | COMMIT
 AppQoSDB | appqosusr | 17027 | 127.0.0.1   | f       | 2013-10-15
10:21:38.633244+01 | SELECT
datname,usename,pid,client_addr,waiting,query_start,query FROM
pg_stat_activity;


This is the current configuration:

             name             |
 current_setting
------------------------------+------------------------------------------------------------------------------------------------------------
 version                      | PostgreSQL 9.2.4 on
x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.7.2-2ubuntu1)
4.7.2, 64-bit
 autovacuum                   | on
 autovacuum_analyze_threshold | 500000
 autovacuum_max_workers       | 1
 autovacuum_naptime           | 1h
 autovacuum_vacuum_threshold  | 500000
 checkpoint_completion_target | 0.7
 checkpoint_segments          | 128
 checkpoint_warning           | 30s
 client_encoding              | UTF8
 effective_cache_size         | 16GB
 lc_collate                   | en_GB.UTF-8
 lc_ctype                     | en_GB.UTF-8
 listen_addresses             | *
 log_destination              | syslog, stderr
 log_min_duration_statement   | 2min
 log_rotation_age             | 10d
 log_rotation_size            | 100MB
 logging_collector            | on
 max_connections              | 200
 max_stack_depth              | 2MB
 server_encoding              | UTF8
 shared_buffers               | 6GB
 synchronous_commit           | off
 TimeZone                     | GB
 wal_buffers                  | 128kB
 work_mem                     | 18MB


Thank you,
Svetlin Manavski

Reply via email to