postgresql - PGPoolingDataSource 不接受默认的自动提交

标签 postgresql jdbc connection-pooling

记录了使用带有 getConnection 函数的数据源 https://jdbc.postgresql.org/documentation/94/ds-ds.html

当数据源禁用自动提交时,我们有

ds.isDefaultAutoCommit

res0: bool 值 = false

获取连接:

val conn = ds.getConnection

启用自动提交:

conn.getAutoCommit

res1: bool 值 = true

查看代码我们看到getConnection使用了父类函数而不改变commit模式 https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/ds/PGConnectionPoolDataSource.java

这只是实现异常/限制还是背后有其他原因?

最佳答案

它看起来像一个错误。类 PPGooledConnection(池中连接的句柄)在其构造函数中采用 bool 参数 autoCommit,但它不对其执行任何操作(如重置自动在分发逻辑连接之前提交状态)。

你应该在他们的 github 上创建一个问题。

关于postgresql - PGPoolingDataSource 不接受默认的自动提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100029/

相关文章:

python - run_web.sh 没有找到,即使它在目录中?

java - JAVA中Hive JDBC连接

java - Jdbc DataSource多线程不释放连接

java - 如何使用 OOP 概念使用 ArrayList 对象将值传递到数据库

java - 我可以增加 apache 池的超时以减少新对象的创建吗?

python - flask_sqlalchemy `pool_pre_ping` 有时只工作

postgresql - 尝试连接时抛出 Spring-Boot PostgreSQL 异常?

sql - 按周过滤查询

postgresql - shp2pgsql 创建表但 psql 报告 "relation...does not exist"

c# - 具有多线程服务的数据库连接池