代码之家  ›  专栏  ›  技术社区  ›  forJ

PostgreSQL酸依从性

  •  2
  • forJ  · 技术社区  · 6 年前

    同时发生时 update 有几个 transaction 一次,PostgreSQL还能维持酸性吗?

    比如说如果我做了

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

    多次同时进行,我会看到与酸兼容的增量吗?

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

    1 回复  |  直到 6 年前
        1
  •  0
  •   Laurenz Albe    6 年前

    是的,将保持酸性:

    • 这两种说法要么都会成功,要么都不会成功。( 原子性 )

    • 不会违反任何约束( 一致性 )

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

    • 之后 COMMIT ,只要保留事务日志,该事务就可以在系统崩溃后继续运行。( 耐久性 )