PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

स्पष्ट लॉकिंग के बिना गतिरोध को पोस्टग्रेज करता है

आपको किसी स्पष्ट LOCK की आवश्यकता नहीं है गतिरोध में जाने के लिए। यहाँ केवल INSERTs के साथ शुरू से एक बहुत ही सरल डेमो है:

create table a(i int primary key);
create table b(i int primary key);

सत्र #1 करता है:

begin;
insert into a values(1);

फिर सत्र #2 करता है:

begin;
insert into b values(1);
insert into a values(1);
-- here it goes into waiting for session #1 to finish its transaction

फिर सत्र #1 करता है:

insert into b values(1);

और फिर गतिरोध उत्पन्न होता है:

साधारण UPDATEs या UPDATEs और INSERTs के संयोजन के साथ भी ऐसा ही हो सकता है। ये संचालन निहित ताले लेते हैं, और यदि वे अलग-अलग सत्रों में अलग-अलग क्रम में होते हैं, तो वे गतिरोध कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. @JoinColumn क्या है और हाइबरनेट में इसका उपयोग कैसे किया जाता है

  2. सक्रिय रिकॉर्ड पूछताछ और उसकेोकू के साथ समस्या।

  3. किसी पोस्टग्रेएसक्यूएल डेटाबेस के लिए एक विशिष्ट लोकेल का उपयोग करके किसी को भी सफलता मिली है ताकि टेक्स्ट तुलना केस-असंवेदनशील हो?

  4. pgBouncer के साथ PostgreSQL उच्च उपलब्धता कैसे प्राप्त करें

  5. pgAdmin के लिए कनेक्शन टाइमआउट मान कैसे सेट करें?