http://www.postgresql.org/docs/9.2/static/transaction-iso.html
可重复读模式提供了一个严格的保证,即每个事务都能看到数据库的完全稳定的视图。然而,这个视图不一定总是与同一级别的并发事务的串行(逐个执行)执行一致。例如,即使在这个级别上的只读事务也可能会看到一个控制记录被更新以显示批处理已完成,但却没有看到逻辑上属于该批处理的详细记录之一,因为它读取了控制记录的早期版本。在这个隔离级别下运行的事务试图通过强制执行业务规则来阻止冲突事务,但很可能无法正常工作,除非仔细使用显式锁来阻塞冲突事务。 这不就是幻读吗?在可重复读模式下不可能出现幻读吗? 文档中说,在可重复读事务中的查询会看到事务开始时的快照,那么查询如何可能读取不一致的数据呢?