使用PostgreSQL Java / JDBC Copy API进行批量插入的经验

时间:2011-01-17 08:28:11

标签: postgresql jdbc bulkinsert

在版本8.4中,PostgreSQL最终将专有API集成到JDBC driver中,允许基于流的插入和选择。所谓的Copy API授予对COPY TO/COPY FROM SQL命令的访问权限,该命令一次将文本数据从流/读取器读取到一个表中,或者将文本数据从一个表写入流/写入器。对插入操作考虑约束和触发器。可以使用基本转换(分隔符,引号,空值等)。性能提升非常令人印象深刻,这可能是因为对象实例化较少,客户端和服务器后端之间的协议更简单。

有没有人使用此API,无论好坏。生产准备好了吗?是否有任何陷阱需要注意?顺便说一句:它是一个专有API的事实对我来说不是问题。

1 个答案:

答案 0 :(得分:1)

COPY API存在于PostgreSQL C库中至少6年。它非常稳定。

请参阅:http://www.postgresql.org/docs/9.0/interactive/libpq-copy.htmlhttp://www.postgresql.org/docs/9.0/interactive/sql-copy.html

JDBC实现应具有相同的属性,但我没有使用它。

PS。当你称之为“专有”时,我认为存在误解。协议规范和服务器/客户端/驱动程序源代码都是免费的(如在自由中)。