ऐसा लगता है कि आपके क्लाइंट डेटाबेस के अपने स्नैपशॉट में रह रहे हैं, जो सच होगा यदि उनके पास रिपीटेबल-रीड आइसोलेशन स्तर का उपयोग करके एक खुला लेनदेन है। दूसरे शब्दों में, उस ग्राहक द्वारा अपना लेन-देन शुरू करने के बाद प्रतिबद्ध कोई भी डेटा उस ग्राहक को दिखाई नहीं देगा।
एक समाधान एक नए लेनदेन को शुरू करने के लिए मजबूर करना है। क्लाइंट सत्र में बस COMMIT चलाएं जहां ऐसा लगता है कि यह पुराना डेटा देख रहा है। इससे कोई भी खुला लेन-देन हल हो जाएगा और अगली क्वेरी से एक नया लेन-देन शुरू हो जाएगा।
एक और तरीका है कि आप परीक्षण कर सकते हैं लॉकिंग रीड का उपयोग करना क्वेरी
जैसे SELECT ... FOR UPDATE
. यह क्लाइंट के लेन-देन अलगाव स्तर की परवाह किए बिना सबसे हाल ही में प्रतिबद्ध डेटा को पढ़ेगा। यही है, भले ही क्लाइंट ने रिपीटेबल-रीड का उपयोग करके अपना लेनदेन शुरू किया हो, एक लॉकिंग रीड ऐसा व्यवहार करता है जैसे कि उन्होंने रीड-कमिटेड के साथ अपना लेनदेन शुरू किया हो।