Subject: PgBouncer Prepared Statement ERROR

From: KK CHN <[email-masked]>
Date: Fri, 18 Jul 2025 18:22:55 +0530

Hi ,

I am getting error when using  PgBouncer(1.23.1 ) with  Postgres 16
(RedHAT 9.4)

2025-07-18 00:00:00 IST ERROR:  prepared statement "S_243" does not exist
2025-07-18 00:00:03 IST ERROR:  prepared statement "S_205" does not exist
2025-07-18 00:00:03 IST ERROR:  prepared statement "S_206" does not exist
2025-07-18 00:00:03 IST ERROR:  prepared statement "S_207" does not exist

How to avoid these prepared statement Errors ?

Any hints most welcome,
Krishane

config as follows
[root@pgbouncer ~]# grep ^[^';;;']  /usr/local/etc/pgbouncer.ini
[databases]
transaction_db = host=dbmain.erss.in port=5444 dbname= transaction_db
mgt_db = host=dbmain.erss.in port=5444 dbname=mgt_db
....................................
tsp_db = host=dbmain.erss.in port=5444 dbname=tsp_db
[users]
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = *
listen_port = 5444
auth_type = md5
auth_file = /usr/local/etc/pgbouncer.users
admin_users = myuser
stats_users =  status_user,
pool_mode = transaction
server_reset_query = DISCARD ALL
server_reset_query_always = 1
ignore_startup_parameters = extra_float_digits, options, statement_timeout,
idle_in_transaction_session_timeout
max_client_conn = 5000
default_pool_size = 20
min_pool_size = 10
reserve_pool_size = 10
reserve_pool_timeout = 5
max_db_connections = 900
max_user_connections = 800
server_lifetime = 3600
server_idle_timeout = 60000
[root@pgbouncer ~]#

---

From: Greg Sabino Mullane <[email-masked]>
Date: Fri, 18 Jul 2025 09:32:29 -0400

Make sure  max_prepared_statements is set to nonzero in your config. See:

https://www.crunchydata.com/blog/prepared-statements-in-transaction-mode-for-pgbouncer

Cheers,
Greg

--
Crunchy Data - https://www.crunchydata.com
Enterprise Postgres Software Products & Tech Support

---

From: Laurenz Albe <[email-masked]>
Date: Fri, 18 Jul 2025 15:34:28 +0200

On Fri, 2025-07-18 at 18:22 +0530, KK CHN wrote:
> I am getting error when using  PgBouncer(1.23.1 ) with  Postgres 16  (RedHAT 9.4)
> 

Use a recent version of pgBouncer and set "max_prepared_statements"
high enough.

Yours,
Laurenz Albe