4 months ago
I currently have about 12 services connecting to my database. After running smoothly for a while, I began getting “too many client connection” errors, so I installed PgBouncer. It fixed the overload issue, but now I’m seeing a new error:
error: select * from information_schema.tables where table_name = $1 and table_schema = current_schema() - query_wait_timeout
From what I’ve learned, this happens when too many concurrent clients are waiting for connections and PgBouncer exceeds its query_wait_timeout limit.
I was advised to update my pgbouncer.ini with these settings:
pool_mode = transaction
query_timeout = 60
query_wait_timeout = 60
server_idle_timeout = 30
However, I’m not sure where to find the pgbouncer.ini file in my Railway project.
Since I plan to scale to over 100 services in the future, I’d like to know how to structure my setup to prevent this issue now and as the project grows.
Pinned Solution
4 months ago
Sure, let me know how it goes, and yeah you'll need to add to your PgBouncer service environment (hopefully that's a question and not a typo).
7 Replies
4 months ago
Hey there! We've found the following might help you get unblocked faster:
If you find the answer from one of these, please let us know by solving the thread!
4 months ago
PgBouncer
Lightweight connection pooler for PostgreSQL
142
100%
Brody's Projects
4 months ago
Hey, sorry for the delay. That template simply uses the bitnami/pgbouncer image under the hood. You're able to configure it via environment variables too: https://github.com/bitnami/containers/blob/main/bitnami/pgbouncer/README.md
The important ones that I see are:
PGBOUNCER_QUERY_WAIT_TIMEOUT=60
PGBOUNCER_POOL_MODE=transaction
PGBOUNCER_SERVER_IDLE_TIMEOUT=30
PGBOUNCER_QUERY_TIMEOUT=60
Setting those environment variables on the PgBouncer service should do the trick.
4 months ago
Alright thanks for the info.
I am going to add to the pgbouncer environment?
juventusjude
Alright thanks for the info. I am going to add to the pgbouncer environment?
4 months ago
Sure, let me know how it goes, and yeah you'll need to add to your PgBouncer service environment (hopefully that's a question and not a typo).
4 months ago
Yes. It worked. Thanks
Status changed to Solved samgordon • 4 months ago
