PG中的自动提交(AUTOCOMMIT)

2    1698    8

Tags:

👉 本文共约2165个字,系统预计阅读时间或需9分钟。

Oracle中sqlplus里面执行DML语句,是需要提交commit;若错了,也可以回滚rollback; PostgreSQL psql里面默认是自动提交;执行完就马上提交,不能回滚,但是可以关闭自动提交。

AutoCommit基于客户端(psql、pgadmin等等)SESSION连接参数AUTOCOMMIT,数据库SERVER端不进行控制。

SET AUTOCOMMIT

SET AUTOCOMMIT — 设置当前会话的自动提交行为。

大纲

描述

SET AUTOCOMMIT设置当前数据库会话的自动提交行为。默认情况下,嵌入式 SQL 程序不\在自动提交模式中,因此需要显式地发出COMMIT。这个命令可以把会话改成自动提交模式,这样每一个单独的语句都会被隐式提交。

兼容性

SET AUTOCOMMIT是 PostgreSQL ECPG 的扩展。

注意

这里的AUTOCOMMIT是大写的,不能使用小写。如果使用小写,虽不会报错,但会使该命令无效。

一些配置方式

1.检查当前AUTOCOMMIT参数值

2.修改当前AUTOCOMMIT参数值为OFF

3.检查修改的AUTOCOMMIT参数值是否为OFF

4.仅限于psql工具

客户端所在系统用户执行以下语句,家目录下生成.psqlrc

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
PG中的自动提交(AUTOCOMMIT)后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

2 条回复

  1. Avatar photo David.cui说道:

    倒数第二个代码段中感觉不对啊。
    已经关闭了自动提交,创建test_auto_commit、向test_auto_commit插入1111,rollback之后。
    再查询test_auto_commit的时候,应该提示表不存在才对,因为整个事务块都回滚了。
    不应该提示:
    postgres=# rollback ;
    ROLLBACK
    postgres=# select * from test_auto_commit ;

    id

    (0 rows)

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部