पंक्तियों को ORDER BY . के क्रम में लॉक किया गया है खंड जैसा कि तालिका को स्कैन करते समय था ।
क्वेरी निष्पादित की जाती है और पंक्तियों का आदेश दिया जाता है, फिर PostgreSQL पंक्तियों को क्रम में लॉक कर देता है। अनिवार्य रूप से, ORDER BY FOR UPDATE . से पहले होता है ।
अब ऐसा हो सकता है कि पंक्ति को अवरोधित करना समवर्ती लेनदेन द्वारा आयोजित ताले के कारण। अगर ऐसा होता है, और हम READ COMMITTED . पर हैं अलगाव स्तर, PostgreSQL प्रतीक्षा करता है जब तक यह लॉक प्राप्त नहीं कर लेता और फिर वर्तमान संस्करण प्राप्त नहीं कर लेता पंक्ति का, जिसे यह लॉक करता है।
यदि समवर्ती लेन-देन क्रम को परिभाषित करने वाले स्तंभों को संशोधित करता है, तो अंतिम परिणाम ORDER BY द्वारा परिभाषित क्रम में नहीं होगा। ।