Kedengarannya seperti klien Anda hidup dalam snapshot database mereka sendiri, yang akan benar jika mereka memiliki transaksi terbuka menggunakan tingkat isolasi REPEATABLE-READ. Dengan kata lain, tidak ada data yang dilakukan setelah klien tersebut memulai transaksinya yang akan terlihat oleh klien tersebut.
Salah satu solusinya adalah memaksa transaksi baru untuk memulai. Jalankan saja COMMIT di sesi klien di mana tampaknya melihat data basi. Itu akan menyelesaikan setiap transaksi terbuka dan kueri berikutnya akan memulai transaksi baru.
Cara lain yang dapat Anda uji adalah dengan menggunakan baca penguncian permintaan
seperti SELECT ... FOR UPDATE
. Ini akan membaca data komitmen terbaru, terlepas dari tingkat isolasi transaksi klien. Artinya, bahkan jika klien telah memulai transaksi mereka menggunakan REPEATABLE-READ, pembacaan penguncian berperilaku seolah-olah mereka telah memulai transaksi mereka dengan READ-COMMITTED.