pgdriver: 在 pool_mode = transaction 时提供了一个选项,可禁用 PgBouncer 的预编译语句
作者: oleg-kuzmenko创建于 2025年9月9日更新于 2025年10月18日
标签no stalebot
问题 Bun 在 pool_mode = transaction 模式下与 PgBouncer 后面的 pgdriver 使用时,查询经常会出现以下错误:
ERROR: unnamed prepared statement does not exist (SQLSTATE=26000)
这通常是由于 pgdriver 总是使用带有预编译语句的扩展查询协议。但是,在事务池模式下,PgBouncer 会在多个客户端之间重复使用后端连接,因此在某个连接上创建的任何预编译语句都不会在重新分配时保留下来。
内容来源: uptrace/bun