Доброе утро,
Я получаю слишком много «незанятых транзакций» на сервере pgpool, а соответствующие PID отсутствуют на Postgres серверах, т.е. соединения закрываются на Postgres серверах (не уверен что происходит).
Подробности среды: два сервера pgpool (3.7.11) с [одним главным и тремя подчиненными Postgres серверами (9.5)] Сторона приложения: Java со структурой распорок и развертыванием в Wildfly серверы (9).
1). С серверов pgpool:
(i) In Pgpool :
root 30659 6239 0 13:17 ? 00:00:00 pgpool: postgres postgres 10.19.61.122 idle in transaction
root 32688 6239 0 13:29 ? 00:00:00 pgpool: postgres postgres 10.19.61.122 idle in transaction
(ii) show pool_pools;
30659 | 2020-02-08 13:17:26 | 0 | 0 | postgres | postgres | 2020-02-08 13:47:53 | 3 | 0 | 1 | 378276 | 1
30659 | 2020-02-08 13:17:26 | 0 | 1 | postgres | postgres | 2020-02-08 13:47:53 | 3 | 0 | 1 | 446378 | 1
30659 | 2020-02-08 13:17:26 | 0 | 2 | postgres | postgres | 2020-02-08 13:47:53 | 3 | 0 | 1 | 26020 | 1
30659 | 2020-02-08 13:17:26 | 0 | 3 | postgres | postgres | 2020-02-08 13:47:53 | 3 | 0 | 1 | 346430 | 1
32688 | 2020-02-08 13:29:14 | 0 | 0 | postgres | postgres | 2020-02-08 13:52:05 | 3 | 0 | 1 | 378814 | 1
32688 | 2020-02-08 13:29:14 | 0 | 1 | postgres | postgres | 2020-02-08 13:52:05 | 3 | 0 | 1 | 447031 | 1
32688 | 2020-02-08 13:29:14 | 0 | 2 | postgres | postgres | 2020-02-08 13:52:05 | 3 | 0 | 1 | 26544 | 1
32688 | 2020-02-08 13:29:14 | 0 | 3 | postgres | postgres | 2020-02-08 13:52:05 | 3 | 0 | 1 | 346873 | 1
(iii) In Postgres :
ps -ef| grep 378814
397874 393866 0 16:26 pts/0 00:00:00 grep --color=auto 378814
ps -ef| grep 378276
397995 393866 0 16:27 pts/0 00:00:00 grep --color=auto 378276
iv: Not able to see in pg_stat_activity
=============
Пожалуйста, помогите нам найти проблемы:
- Почему мы не можем увидеть pgpool-соединения «бездействующие в транзакции» в внутренних БД (используя pg_stat_activity и ps -eaf | grep PID).
- как проверить, что именно делают соединения «бездействующие в транзакции» в бэкэндах? и как увидеть эти соединения?.
- Как избежать подобных проблем и какие параметры на уровне pgpool и DB помогут нам освободить эти соединения «бездействия в транзакции»?.
Ваша поддержка будет высоко оценена. Спасибо за вашу поддержку.