<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif"><div class="gmail_default" style="font-family:tahoma,sans-serif">Hello PgPool<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">We
 are using PgPool 4.2.4 (from Alpine 3.13) as the frontend of a 
master/standby PostgreSQL 10.14 cluster (2 synchronous standbys in 
streaming replication mode). PgPool is operating as a load balancer and a
 connection pool.<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">PgPool
 forks 90 pool workers (num_init_children=90, max_pool=2). All 
PostgreSQL backend servers are configured properly to accept a maximum 
of 190 connections (so, num_init_children * max_pool is below this 
maximum with a safety margin of 10).</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">The relevant (pool-specific) part of the configuration is:</div><div class="gmail_default"><span style="background-color:rgb(207,226,243)"><span style="font-family:monospace">num_init_children = 90<br>max_pool = 2<br>child_life_time = 5min<br>child_max_connections = 0<br>connection_life_time = 0<br>client_idle_limit = 0  <br></span></span></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">After
 a while (5-10 days of operation), we face several errors of the type of
 "Sorry, too many clients".  These errors are not originating from a 
PostgreSQL backend (error logs are completely clear and pg_stat_activity
 shows no more than 140 (from 190) active connections).<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">This
 problem has been around for some time now, and we have to resort to 
restarting the entire PgPool service. Of course, this is not a perfect 
solution because it disrupts some database clients (so, we also have to 
cascade those restarts to some other services, and so on).</div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">The
 majority of database clients are connecting from a Hikari pool (Java 
Spring/Boot) which creates long-standing connections (i.e. not one 
per-transaction).<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Any light on this issue is highly appreciated! </div><div class="gmail_default" style="font-family:tahoma,sans-serif"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Kind regards, <br></div><div class="gmail_default" style="font-family:tahoma,sans-serif">Michail Alexakis, Software Engineer</div></div></div>