我了解到JDBC PreparedStatement
和PGBouncer不能一起使用,因为PreparedStatement
使用会话池并且是预编译的,而PGbouncer使用事务级别池。
我的问题是可以使用createStatement
与PGBouncer一起使用吗?因为它没有被预编译。如果不行,是否有其他Java API可以连接到数据库并使用PGbouncer?
我了解到JDBC PreparedStatement
和PGBouncer不能一起使用,因为PreparedStatement
使用会话池并且是预编译的,而PGbouncer使用事务级别池。
我的问题是可以使用createStatement
与PGBouncer一起使用吗?因为它没有被预编译。如果不行,是否有其他Java API可以连接到数据库并使用PGbouncer?
PgBouncer 常见问题解答指出,虽然它不支持对 PreparedStatement
进行池化,但是您可以通过在 JDBC 连接 URL 中添加参数 prepareThreshold=0
来禁用它们。
这样,您可以在将来连接到其他数据库时保留 PreparedStatement
的优点,同时仍然通过 PgBouncer 实现工作连接。