Re: Pgbouncer and Node JS application Query read timeout error - Mailing list pgsql-general

From KK CHN
Subject Re: Pgbouncer and Node JS application Query read timeout error
Date
Msg-id CAKgGyB_zeOcCu+U=_=1OW_iJTcBweX1crEJQfxT-dN-b1_0JdQ@mail.gmail.com
Whole thread
In response to Re: Pgbouncer and Node JS application Query read timeout error  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Pgbouncer and Node JS application Query read timeout error
List pgsql-general


On Wed, Apr 8, 2026 at 11:58 AM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Wed, 2026-04-08 at 10:51 +0530, KK CHN wrote:
> List, I am using pgbouncer(PgBouncer 1.23.1 RHEL 9.4) along with  Postgres16(RHEL 9.4)
> for connection pooling.   
>
> Running a nodejs application which is throwing some errors  related to query timeout
> which the development team suspect after pgbouncer deployment this behaviour appears,
> but not sure 
>
> The error which is thrown from  the nodejs logs as follows.. 
>
> [image showing an error "Query read timeout"]
>
> Is this due to   pgbouncer config issues or   nodejs  pool config issues ?
>
> for  reference here the pgbouncer  config params and  node js  params at present.
>
> pgbouncer.ini
>
> [...]
> [pgbouncer]
> pool_mode = transaction
> default_pool_size = 50
> min_pool_size = 30
> reserve_pool_size = 10
> reserve_pool_timeout = 5
> max_db_connections = 130
> max_user_connections = 180
> server_lifetime = 3600
> server_idle_timeout = 600
> [...]


The only way I can imagine that pgBouncer is leading to timeouts on the client side
is if client sessions are waiting, because all connections are in use.

You can run SHOW POOLS in the pgBouncer console to see if there are any "cl_waiting".
If that is the case, you should configure the Node.js pools smaller, so that no
connection has to wait.

Configuring Node.js  pools smaller ?  I couldn't get the  logic here  why advised to reduce the pool size ? 
 
Increasing pool size  more than 10 adversely affects the connection  establishment from Node.js  application ?          Since DB  is having   Pgbouncer infront and   default_pool_size = 50 there ,  don't we have the freedom to increase node.js application pool size and it will help the query timeout ?   or any hidden facts involved could you elaborate ..


Thank you,
Krishane

 

Yours,
Laurenz Albe

pgsql-general by date:

Previous
From: Greg Sabino Mullane
Date:
Subject: Re: Signatures and code of conduct
Next
From: Laurenz Albe
Date:
Subject: Re: Pgbouncer and Node JS application Query read timeout error