PostgreSQL酸合规性

时间:2018-08-07 13:55:58

标签: postgresql transactions

一次在多个update中调用并发transaction时,PostgreSQL仍然能够维护ACID吗?

例如,如果我这样做

BEGIN
  UPDATE post SET like = like + 1
  UPDATE post SET like = like + 1
END

同时多次进行,我会看到符合ACID的增量吗?

我正在使用REPEATABLE READ交易类型。

1 个答案:

答案 0 :(得分:0)

是的,将保留ACID:

  • 这两个语句要么成功,要么都不成功( atomicity )。

  • 没有违反约束(一致性)。

  • 事务将相互锁定,报告序列化错误并解决死锁(隔离)。

  • COMMIT之后,只要保留事务日志(耐久性),该事务将在系统崩溃后幸免。