Соединения в режиме ожидания на сервере pgpool и не могут видеть то же самое на postgres серверах - PullRequest
0 голосов
/ 10 февраля 2020

Доброе утро,

Я получаю слишком много «незанятых транзакций» на сервере 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

=============

Пожалуйста, помогите нам найти проблемы:

  1. Почему мы не можем увидеть pgpool-соединения «бездействующие в транзакции» в внутренних БД (используя pg_stat_activity и ps -eaf | grep PID).
  2. как проверить, что именно делают соединения «бездействующие в транзакции» в бэкэндах? и как увидеть эти соединения?.
  3. Как избежать подобных проблем и какие параметры на уровне pgpool и DB помогут нам освободить эти соединения «бездействия в транзакции»?.

Ваша поддержка будет высоко оценена. Спасибо за вашу поддержку.

...