Wygląda na to, że Twoi klienci żyją we własnych migawkach bazy danych, co byłoby prawdziwe, gdyby mieli otwartą transakcję przy użyciu poziomu izolacji REPEATABLE-READ. Innymi słowy, żadne dane zatwierdzone po rozpoczęciu transakcji przez tego klienta nie będą widoczne dla tego klienta.
Jednym z obejść jest wymuszenie rozpoczęcia nowej transakcji. Po prostu uruchom COMMIT w sesji klienta, w której wydaje się, że wyświetla nieaktualne dane. To rozwiąże każdą otwartą transakcję, a następne zapytanie rozpocznie nową transakcję.
Innym sposobem testowania jest użycie odczytu blokującego zapytanie
takie jak SELECT ... FOR UPDATE
. Spowoduje to odczytanie ostatnio zatwierdzonych danych, niezależnie od poziomu izolacji transakcji klienta. Oznacza to, że nawet jeśli klient rozpoczął transakcję za pomocą REPEATABLE-READ, odczyt blokujący zachowuje się tak, jakby rozpoczął transakcję za pomocą READ-COMMITTED.