Postgresql JDBC 驱动程序中的批量更新在自动提交中回滚

2024-05-03

我正在使用 postgres 9.3-1100-jdbc41 JDBC4 驱动程序进行批量插入。

根据 JDBC 规范,其可达 到应用程序以禁用自动提交并提交或 回滚事务。

就我而言,我没有使用任何事务(即自动提交为真),但如果批次中的其中一个插入失败,插入仍然会回滚。

根据 JDBC 规范“如果批量更新中的某个命令无法正确执行,此方法会抛出一个错误 BatchUpdateException,并且 JDBC 驱动程序可能会也可能不会继续处理剩余的命令 这里并没有说回滚之前执行过的命令。

我的理解有错吗?如果不是,为什么驱动程序会这样做,如果是,根据规范什么是正确的行为。


据我所知,该规范基本上将其留给了驱动程序;它不指定如果批处理失败是否提交已处理的工作。

PgJDBC 在事务中执行批处理,因此如果批处理的任何部分失败,则全部将被中止。

如果您觉得这种行为不正确,您需要做的第一件事是编写一个测试用例,证明其他驱动程序始终以与 PgJDBC 不同的方式运行,并将其提交给PgJDBC 问题跟踪器 https://github.com/pgjdbc/pgjdbc/issues。我们没有时间研究其他司机的行为,所以你需要编写测试用例并运行其他一些流行的数据库(MS SQL Server、Oracle、DB2、MySQL 等)或安排让其他人运行它。如果您表明 PgJDBC 的行为与其他驱动程序处理批处理的方式不同,那么值得考虑添加一个选项来更改行为(并努力最终使其成为默认行为)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgresql JDBC 驱动程序中的批量更新在自动提交中回滚 的相关文章

随机推荐

  • asp.net 保护图像免受其他用户的静态请求?

    我在一个为每个特定用户生成动态图像的网站上工作 有时这些图像包含非常敏感数据的描述 最近 我们开始看到对属于不同用户的图像的请求 其形式为 http myapp images someuid image1 jpg http myapp im
  • PHP IMAP 解码消息

    我有通过 Base64 编码和 8 位编码发送的电子邮件 我想知道如何使用 imap fetchstruct 检查消息的编码 已经这样做了大约两个小时 所以丢失了 然后正确解码 Gmail 和 Mailbox iOS 上的应用程序 将其作为
  • HttpParams 在 Angular 中不起作用,出现 502 错误

    我用的是角度8 我在用HttpParams通过以下方式将数据发送到服务器Post method 我正进入 状态502状态码错误 通过HttpPrams发送数据 ERROR HttpErrorResponse 标头 HttpHeaders 状
  • MongoDB 和 upsert 问题

    我有两个模型 1 资源假期 Id private String resourceID private List
  • ANEW 字典可以用于 Quanteda 中的情感分析吗?

    我正在尝试找到一种方法来实施英语单词情感规范 荷兰语 以便使用 Quanteda 进行纵向情感分析 我最终想要的是每年的 平均情绪 以显示任何纵向趋势 在数据集中 所有单词均由 64 名编码员按照 7 分李克特量表在四个类别上进行评分 这提
  • Google Universal Analytics - 命令被忽略

    我正在使用 Google Universal Analytics 来跟踪页面浏览量 当我导航到具有 Google Analytics 网站实时功能的页面时 我可以看到 因此我的代码一定可以正常工作 然而 Chrome 一直在控制台中显示 I
  • 带有 Angular2 和 Typescript 的 Visual Studio 2013

    我在用着angular2 快速入门 https angular io docs ts latest quickstart html我遇到了 Visual Studio 无法识别的问题Angular2 with 打字稿导入模块 其余一切都很好
  • Razor 模板中的特殊字符未正确编码

    我用 ASP NET Core MVC 做了一些测试 我试图表现出像 这样的特殊字符 但显示为 示例 创建新视图并放置 div div 默认情况下 cshtml文件以 UTF 16 编码 HTTP 响应标头中的字符集是 UTF 8 在 la
  • 使用 Java Swing 平均成绩 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有一个家庭作业 我一直在编码 我以
  • Nginx 背后的多个 Meteor 站点

    这个问题与this https stackoverflow com questions 10936242 how can i correct the meteor base url in a nginx reverse proxy conf
  • 现实世界抽象类使用简单示例

    有没有使用抽象类的现实世界简单示例 我试图进入 PHP 的 OOP 但我仍然无法理解 为什么应该使用抽象类以及何时使用 是的 我知道不可能创建抽象类实例 只能创建继承它的类的实例 也许您有一个图像类 并且有 2 个驱动程序 GD 和 Ima
  • 为什么我能够使用无效的类指针进行函数调用

    在下面的代码片段中 虽然指针未初始化 但调用仍然成功 temp ptr ptr gt func2 是C 语言特性的问题 还是VC 6编译器的作弊 class temp public temp a 9 int func1 return a b
  • Spring Boot如何读取jar外部的属性文件

    在我的目标文件夹中 有 2 个文件夹 lib 和 conf 所有的属性文件都放在conf文件夹中 jar放在lib Folder中 在 Spring Boot 之前 我们在 spring xml 中使用以下配置来使用 value
  • 应用程序的外观 - Py2exe / wxPython

    所以我的问题是我的应用程序的外观和感觉 因为它看起来像一个旧的外观应用程序 它是一个 wxPython 应用程序 在 python 上它运行良好并且看起来不错 但是当我使用 py2exe 将其转换为 exe 时 外观很糟糕 现在我知道如果你
  • 如何在我的 Android 库 (AAR) 中包含 proguard 配置

    Android 库 根据AAR 文件规范 http tools android com tech docs new build system aar format 包含一个 proguard txt 文件 我的理解是 该文件声明了如何正确地
  • 在 Visual Studio 2010 中自动放置右花括号

    有没有一种方法可以在我在 Visual Studio 2010 中键入左大括号时自动放置右大括号 Netbeans 提供了类似的功能并且非常方便 The 生产力电动工具 http visualstudiogallery msdn micro
  • 如何在JdbcTemplate中执行多批量删除?

    我想一次删除多个数据库条目 仅当 3 个字段匹配 此处 姓名 电子邮件 年龄 时 才应删除每个条目 如果我只想删除单个属性 我会选择 String sql DELETE FROM persons WHERE email IN JdbcTem
  • 如何在经典 ASP 中将 Windows-1255 转换为 UTF-8?

    如何将 windows 1255 字符串转换为 utf 8classic应用服务提供商 我的数据库是 windows 1255 我想将我的网站转移到 utf 8 代码是否在这个答案 https stackoverflow com quest
  • css Flex div 随着子文本区域的增长而增长(无jquery)[重复]

    这个问题在这里已经有答案了 想象一下我有以下内容 div padding 20px div style display flex background gold div
  • Postgresql JDBC 驱动程序中的批量更新在自动提交中回滚

    我正在使用 postgres 9 3 1100 jdbc41 JDBC4 驱动程序进行批量插入 根据 JDBC 规范 其可达 到应用程序以禁用自动提交并提交或 回滚事务 就我而言 我没有使用任何事务 即自动提交为真 但如果批次中的其中一个插