Thread: Migrating from 10 -> 16, PreparedStatements disabled in JDBC and pgbouncer, I am getting : bind /C_5
Migrating from 10 -> 16, PreparedStatements disabled in JDBC and pgbouncer, I am getting : bind /C_5
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
Re: Migrating from 10 -> 16, PreparedStatements disabled in JDBC and pgbouncer, I am getting : bind /C_5
Achilleas Mantzios - cloud <a.mantzios@cloud.gatewaynet.com> writes: > 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. 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
Re: Migrating from 10 -> 16, PreparedStatements disabled in JDBC and pgbouncer, I am getting : bind /C_5
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 revertedback 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.212ms 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.638ms 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.046ms execute <unnamed>: SELECT work_status FROM company_stuff WHERE ldap_cn = $1 ----- Original Message ----- From: "Tom Lane" <tgl@sss.pgh.pa.us> To: "Achilleas Mantzios" <a.mantzios@cloud.gatewaynet.com> Cc: pgsql-admin@lists.postgresql.org, "ITDEV" <itdev@gatewaynet.com> 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 Achilleas Mantzios - cloud <a.mantzios@cloud.gatewaynet.com> writes: > 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. 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