This is an informational post mean to help reduce debugging time for future users.
- Temporal 1.17.1
- postgres 10
- pgbouncer 1.11.0
temporal-server, I was seeing error messages in stdout and logging reporting:
pq: unnamed prepared statement does not exist.
Searches revealed this error is apparently caused by pgbouncer being upset over the use of plaintext parameters to prepared statements. The solution is to instruct
pq to use binary parameters.
SQL_CONNECT_ATTRIBUTES="binary_parameters=yes" or supply
connectAttributes: # required to allow pq driver to make prepared statements via pgbouncer binary_parameters: "yes"
So far this parameter seems to be well-tolerated by the various temporal services.