事务支持

事务支持指的就是系统提供事务的能力,支持全局事务的ACID,保证事务的原子性、一致性、隔离性和持久性。。

事务支持及数据一致性保证是绝大多数数据库的基本功能,只有支持了事务,才能满足事务化的应用需求。

  • A:atomicity 原子性

    整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。

  • C:consistency 一致性

    事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务的数量。

  • I: Isolation 隔离性

    隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。

  • D:Durability 持久性

    在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

支持事务的默认隔离级别是读已提交。保证不会读到脏数据。

事务分为单语句事务和事务块,相关基础接口:

  • Start transaction; 事务开启
  • Commit; 事务提交
  • Rollback; 事务回滚

另有Set transaction可设置隔离级别、读写模式或可推迟模式。详细语法参见《openGauss 开发者指南》。