यह सच है कि INSERT
, UPDATE
या DELETE
ROW EXCLUSIVE
acquire प्राप्त करना होगा अद्यतन करने के लिए टेबल पर लॉक करें।
हालांकि, यह लॉक SELECT
. को नहीं रोकता है सामान्य रूप से काम करने से। SELECT
केवल ACCESS SHARE
की आवश्यकता है ताला। यह लॉक ROW EXCLUSIVE
. के साथ संगत है - दूसरे शब्दों में, आप SELECT
. को पूरी तरह से निष्पादित कर सकते हैं जबकि अन्य डेटा INSERT
. द्वारा अपडेट किया जाता है , UPDATE
या DELETE
, जब तक कि आपको कोई स्पष्ट लॉक प्राप्त न हो जाए।
दूसरे शब्दों में, आपको दूसरे दृष्टिकोण का उपयोग करते हुए कभी भी कोई गतिरोध नहीं देखना चाहिए (बस SELECT FOR UPDATE
का उपयोग न करें। और तुम ठीक हो जाओगे)।
PostgreSQL डॉक्यूमेंटेशन में और पढ़ें ।