Sembra che i tuoi clienti vivano nella propria istantanea del database, il che sarebbe vero se avessero una transazione aperta che utilizza il livello di isolamento REPEATABLE-READ. In altre parole, nessun dato sottoposto a commit dopo che il client ha avviato la transazione sarà visibile a quel client.
Una soluzione alternativa è forzare l'avvio di una nuova transazione. Basta eseguire COMMIT nella sessione del client in cui sembra visualizzare dati non aggiornati. Ciò risolverà qualsiasi transazione aperta e la query successiva avvierà una nuova transazione.
Un altro modo per testare è utilizzare una lettura di blocco domanda
come SELECT ... FOR UPDATE
. Questo leggerà i dati impegnati più di recente, indipendentemente dal livello di isolamento della transazione del cliente. Cioè, anche se il client ha avviato la transazione utilizzando REPEATABLE-READ, una lettura bloccata si comporta come se avesse avviato la transazione con READ-COMMITTED.