gpt4 book ai didi

postgresql - Postgresql ODBC 自动提交模式的真正含义是什么

转载 作者:行者123 更新时间:2023-12-05 03:37:27 25 4
gpt4 key购买 nike

Postgresql(通过 psql)似乎总是在每个语句之后自动提交,除非已发出开始,在这种情况下它会在提交/回滚时提交。很好。

但 ODBC 有一个自动提交标志,表示执行或不执行。交易的一种模式。这是一个不同于 using begins 的模型。

那么他们是如何互动的呢? ODBC autocommit 是否真的向服务器发送任何内容,或者如果设置为 false,它是否只是发出一个隐藏的开始?假设我有自动提交错误,然后做

  -- autocommit = false in ODBC driver
-- no explicit begin
update 1;
update 2;
rollback;
-- no begin
update 4;
update 5;
rollback;

更新 4 会回滚吗?我假设其他人都回滚了。

拜托,不要说自动提交会在每次查询后自动提交。这是一个(相对)复杂的问题。

最佳答案

更新 4 将被回滚。

所有支持“autocommit = off”的客户端通过在事务结束后的第一个语句之前向服务器发送额外的 BEGIN 来实现。 PostgreSQL 本身并没有注意到这一点;它没有禁用自动提交的模式。

关于postgresql - Postgresql ODBC 自动提交模式的真正含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69308373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com