Zdá se, že vaši klienti žijí ve svém vlastním snímku databáze, což by byla pravda, pokud by měli otevřenou transakci využívající úroveň izolace REPEATABLE-READ. Jinými slovy, žádná data potvrzená poté, co klient zahájil svou transakci, nebudou pro tohoto klienta viditelná.
Jedním z řešení je vynutit spuštění nové transakce. Stačí spustit COMMIT v relaci klienta, kde se zdá, že zobrazuje zastaralá data. Tím se vyřeší všechny otevřené transakce a další dotaz zahájí novou transakci.
Dalším způsobem, jak můžete otestovat, je použít zamykací čtení dotaz
jako například SELECT ... FOR UPDATE
. Tím se přečtou poslední potvrzená data bez ohledu na úroveň izolace transakcí klienta. To znamená, že i když klient zahájil transakci pomocí REPEATABLE-READ, zamykací čtení se chová, jako kdyby svou transakci zahájil s REPEATABLE-READ.