Subject: Migrating from 10 -> 16, PreparedStatements disabled in JDBC and pgbouncer, I am getting : bind <unnamed>/C_5

From: Achilleas Mantzios - cloud <[email-masked]>
Date: Fri, 18 Oct 2024 11:11:28 +0100

Hi All

We have disabled prepared statements in the JDBC settings 
(prepareThreshold=0) and in pgbouncer (max_prepared_statements=0).

I have noticed in the pgsql 16.4 logs some lines with this pattern :

10.9.0.110(45201) [4079203] 67122b3b.3e3e63 2024-10-18 12:32:44.260 EEST 
SMA  amantzio@dynacom line:35 LOG:  duration: 0.166 ms  parse <unnamed>: 
SELECT work_status FROM company_stuff WHERE ldap_cn = $
1
10.9.0.110(45201) [4079203] 67122b3b.3e3e63 2024-10-18 12:32:44.261 EEST 
SMA  amantzio@dynacom line:36 LOG:  duration: 0.553 ms  bind 
<unnamed>/C_5: SELECT work_status FROM company_stuff WHERE ldap_cn
= $1
10.9.0.110(45201) [4079203] 67122b3b.3e3e63 2024-10-18 12:32:44.261 EEST 
SMA  amantzio@dynacom line:38 LOG:  duration: 0.036 ms  execute 
<unnamed>/C_5: SELECT work_status FROM company_stuff WHERE ldap_
cn = $1

So the parse is done on an unnamed prepared statement, however the bind 
and the execute show this : /C_5 after<unnamed>. We haven't got any log 
entries with this /C_* pattern on the "parse" phase, only on "bind" and 
"execute". I am curious what those represent.

Thank you

---

From: Tom Lane <[email-masked]>
Date: Fri, 18 Oct 2024 10:36:34 -0400

> "execute". I am curious what those represent.

Here C_5 would be a portal name, identifying the bound-and-ready-
to-execute query.  See

https://www.postgresql.org/docs/current/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY

			regards, tom lane

---

From: Achilleas Mantzios <[email-masked]>
Date: Fri, 18 Oct 2024 18:05:38 +0300 (EEST)

Thanks Tom, sorry for the business-style reply (top post).
The _C* log entries appeared only when we had specified in JDBC : DefaultRowFetchSize . Once we disabled this, it reverted back to "normal" binds and executes in the log.
e.g. retrying the same app now we get : (omitting param values)

10.9.0.110(52027) [4107694] 6712788f.3eadae 2024-10-18 18:03:17.355 EEST SMA  amantzio@dynacom line:43 LOG:  duration: 0.212 ms  parse <unnamed>: SELECT work_status FROM company_stuff WHERE ldap_cn = $1
10.9.0.110(52027) [4107694] 6712788f.3eadae 2024-10-18 18:03:17.356 EEST SMA  amantzio@dynacom line:44 LOG:  duration: 0.638 ms  bind <unnamed>: SELECT work_status FROM company_stuff WHERE ldap_cn = $1
10.9.0.110(52027) [4107694] 6712788f.3eadae 2024-10-18 18:03:17.356 EEST SMA  amantzio@dynacom line:46 LOG:  duration: 0.046 ms  execute <unnamed>: SELECT work_status FROM company_stuff WHERE ldap_cn = $1

----- Original Message -----
From: "Tom Lane" <[email-masked]>
To: "Achilleas Mantzios" <[email-masked]>
Cc: [email-masked], "ITDEV" <[email-masked]>
Sent: Friday, 18 October, 2024 17:36:34
Subject: Re: Migrating from 10 -> 16, PreparedStatements disabled in JDBC and pgbouncer, I am getting : bind <unnamed>/C_5

			regards, tom lane