http://www.postgresql.org/docs/9.2/static/transaction-iso.html
Режим повторного читання забезпечує сувору гарантію того, що кожна транзакція бачить повністю стабільний вигляд бази даних. Однак ця думка не обов'язково завжди буде відповідати деякому послідовному (по черзі) виконанню паралельних транзакцій одного рівня. Наприклад, навіть транзакція, що займається лише читанням на цьому рівні, може побачити оновлений контрольний запис, який показує, що партія завершена, але не бачить один із записів деталей, який логічно є частиною пакету, оскільки він читав попередню редакцію контрольної записи . Спроби застосувати бізнес-правила за допомогою транзакцій, що виконуються на цьому рівні ізоляції, швидше за все, не спрацюють без ретельного використання явних блокувань для блокування суперечливих транзакцій.
Хіба це не фантомний зчитування, що неможливо в режимі повторного читання?
Документація говорить про те, що запит у транзакції з повторним читанням бачить знімок з моменту початку транзакції, то як можна було б запиту прочитати суперечливі дані?