JDBC-二进制传输
来自 PostgreSQL 维基
跳转到导航跳转到搜索JDBC 二进制传输
对 JDBC 驱动程序的二进制传输补丁的理念是将所有二进制类型从 PostgreSQL 服务器以二进制形式传输到 JDBC 驱动程序。
这消除了将数字从文本表示转换为二进制表示的必要性。
因此,此补丁将提高 JDBC 性能。
配置
二进制传输默认启用,但受
binaryTransfer=boolean
连接 URL 上的标志控制。
一个例子
jdbc:postgresql://127.0.0.1:5432:mydatabase?binaryTransfer=true
此外,您可以使用
-Dorg.postgresql.forcebinary=boolean
JVM 参数强制使用二进制传输。
一个例子
java -Dorg.postgresql.forcebinary=true -classpath myjar.jar MyApp
如果兼容版本小于 8.0,则类型为TIME、TIMETZ、TIMESTAMP 和TIMESTAMPTZ 的值永远不会以二进制格式传输。
如果兼容版本小于 8.3,则类型为INT2_ARRAY、INT4_ARRAY、INT8_ARRAY、FLOAT4_ARRAY、FLOAT8_ARRAY、VARCHAR_ARRAY 和TEXT_ARRAY 的值永远不会以二进制格式传输。
开发
此补丁由 Mikko 开发,Kris 做了修改,Jesper 做了小幅更新。
测试
- Jignesh:使用新的 JDBC 驱动程序测试 Postgres 8.4
版本
v13
- 与 CVS HEAD 同步 (2009/06/23)
v12
- 与 CVS HEAD 同步 (2009/06/02)
v11
- 修复了 Statement::executeQuery(String) 中关于 ResultSet 的问题
- 将二进制传输添加到测试套件中
- 添加了简单的 Statement ResultSet 测试
v10
- 与 CVS HEAD 同步
- build.xml - 关于 def_pgport 的清理
- build.properties - 关于 def_pgport 的清理
- QueryExecutor - 修正了常量值
- QueryExecutorImpl - 删除了不必要的代码路径