Изглежда, че вашите клиенти живеят в собствена моментна снимка на базата данни, което би било вярно, ако имат отворена транзакция, използвайки нивото на изолация REPEATABLE-READ. С други думи, никакви данни, записани след като клиентът е започнал транзакцията си, няма да бъдат видими за този клиент.
Едно заобиколно решение е принудителното стартиране на нова транзакция. Просто стартирайте COMMIT в клиентската сесия, където изглежда, че преглежда остарели данни. Това ще разреши всяка отворена транзакция и следващата заявка ще започне нова транзакция.
Друг начин, по който можете да тествате, е да използвате заключващо четене заявка
като SELECT ... FOR UPDATE
. Това ще прочете най-скоро въведените данни, независимо от нивото на изолация на транзакциите на клиента. Тоест, дори ако клиентът е започнал транзакцията си с REPEATABLE-READ, заключващото четене се държи така, сякаш е започнал транзакцията си с READ-COMMITTED.