[pgpool-general: 2425] pgpool connections: FATAL: sorry, too many clients already

Sergey Arlashin sergeyarl.maillist at gmail.com
Thu Jan 16 03:02:44 JST 2014


It seems I ran into another problem.

I have pgpool 3.3.1 with 2 postgresql 9.3 backends with streaming replication. I'm trying to set the correct number of allowed connections.

These are settings from postgresl.conf on both postgresql backends:

max_connections               = 30
superuser_reserved_connections = 3

These are settings from pgpool.conf:

num_init_children             = 25
max_pool                      = 2

I set these values according to the following formula:

max_pool*num_init_children <= (max_connections - superuser_reserved_connections) 

2 * 25 <= ( 30 - 3 )*2

When both backends are online everything goes without any problems. Both backends have equal number of connections and everything works well. But once one of the backends goes offline I instantly start getting the following error on the online backend: 

FATAL:  sorry, too many clients already

and then it goes offline as well. pgpool shows this error message:

Cannot accept() new connection. all backends are down

It seems pgpool tries to use the whole bunch of allowed connections (2*25) against only one backend (with 27 allowed connections).

Could you please tell how to avoid this error? 

Thanks in advance. 

Best regards,
Sergey Arlashin

More information about the pgpool-general mailing list