Уровень изоляции PostgreSQL Repeatable Read отличается от других уровней изоляции тем, что запрос в транзакции этого уровня видит снимок данных на момент начала первого оператора в транзакции, а не начала текущего оператора. 2
Таким образом, последовательные команды SELECT в одной транзакции видят одни и те же данные — они не видят изменений, внесённых и зафиксированных другими транзакциями после начала текущей транзакции. 2
В режиме Repeatable Read видны только те данные, которые были зафиксированы до начала транзакции, а незафиксированные данные и изменения, внесённые другими транзакциями во время выполнения транзакции, не видны. 1 Однако запрос видит результаты предыдущих обновлений, выполненных в рамках его транзакции, даже если они ещё не зафиксированы. 1