2017-02-21 31 views
0

У меня есть весенний ботинок, спящий режим с помощью приложения java. Я развертываю его на веб-сервере причала с несколькими экземплярами. если у меня тоже (больше 10) много случаев я получаюПул подключений исчерпан

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: FATAL: remaining connection slots are reserved for non-replication superuser connections 

Многие из соединений (10x экземпляра) появляется простой

пса:

postgres 9104 0.0 0.0 248968 4392 ?  Ss 08:07 0:00 postgres: user my_db 127.0.0.1(60095) idle       

Hikari журнал трассировка для экземпляра :

2017-02-21 10:59:47.578 DEBUG 7401 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool  : HikariPool-1 - Pool stats (total=10, active=0, idle=10, waiting=0) 

установка

hikari.leakDetectionThreshold: 30000 

Не регистрирует ничего интересного. Я думаю, что это выглядит интересно HikariCP - connection is not available

Любые идеи, как я мог отладить это? Также я на java 7, поэтому hikari 2.4.7

ответ

0

Я думаю, вы должны увеличить параметр max_connections в своей конфигурации PostgreSQL.

См https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

Вы не можете позволить пул держать больше соединений, чем ваша установка PostgreSQL позволяет.

+0

ah ok thanks. Когда соединение является утечкой, когда нет? –

+2

Или, наоборот, уменьшите количество максимальных соединений в вашем пуле. – Kayaman

+1

Если у вас есть утечка соединения, ваш пул соединений должен отказаться от создания дополнительных подключений. Сообщение об ошибке в вашем вопросе указывает, что это база данных, которая отказывается это делать, поэтому, видимо, ваш пул соединений позволяет больше подключений, чем ваша база данных. –