postgresql事务级别可重复读取和序列化是否相同?
引自
http://www.postgresql.org/docs/9.4/static/transaction-iso.html:
澄清一下:它是否意味着pg的可重复读取=可序列化? 解决方法
没有;差异在
the page you linked to中描述:
文档继续给出一个示例,其中Repeatable Read和Serializable的行为不同. Serializable事务可以通过“序列化失败”中止,但不会阻止任何额外的事务完成. 您引用的部分解释了一些异常,因为标准SQL隔离级别是围绕锁定数据设计的,但PostgreSQL是使用“MVCC”设计实现的,其中并发事务可以为数据提供独立的快照.因此,其他系统中存在的一些区别不适用,Postgres将隔离级别解释为“至少与…一样严格”. 正如Mark Hildreth在评论中指出的那样,这种区别仅在PostgreSQL 9.1之后才有效. documentation for 9.0指出:
而在较新的版本中,这已被修改为:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |