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

बहिष्करण बाधा `बहिष्कृत उपयोग सार (c with &&)` का क्या अर्थ है?

जबकि एक CHECK बाधा तालिका की एक पंक्ति के आधार पर एक अभिव्यक्ति का मूल्यांकन करती है, एक EXCLUDE बाधा तालिका में दो पंक्तियों की तुलना का मूल्यांकन करती है। इसे एक सामान्यीकृत UNIQUE like की तरह समझें बाधा:"कोई भी दो पंक्तियाँ समान नहीं हो सकती" के बजाय, आप "कोई भी दो पंक्तियाँ ओवरलैप नहीं हो सकतीं", या यहाँ तक कि "कोई भी दो पंक्तियाँ भिन्न नहीं हो सकतीं" जैसी बातें कह सकती हैं। ".

मूल्यों के हर संभावित संयोजन की जाँच किए बिना इसे प्राप्त करने के लिए, इसे एक उपयुक्त सूचकांक संरचना की आवश्यकता होती है जो इसे एक पंक्ति डालने या अपडेट करने पर संभावित उल्लंघनों को खोजने की अनुमति देती है। यह वही है जो gist . है घोषणा का हिस्सा संदर्भित करता है:एक विशेष प्रकार की अनुक्रमणिका जिसका उपयोग समानता के अलावा अन्य कार्यों को गति देने के लिए किया जा सकता है।

घोषणा का शेष भाग ही बाधा है:c क्या कॉलम का परीक्षण किया जा रहा है, और && वह ऑपरेटर है जिसे पंक्तियों के किसी भी जोड़े के लिए सही नहीं लौटना चाहिए। इस मामले में, && "ओवरलैप्स" ऑपरेटर है जैसा कि ज्यामितीय ऑपरेटर मैनुअल पेज पर सूचीबद्ध है

तो एक साथ रखें, बाधा EXCLUDE USING gist (c WITH &&) "c . के कोई दो मान नहीं के रूप में अनुवाद करता है एक दूसरे को ओवरलैप करना चाहिए (अधिक सटीक रूप से, A.c && B.c सभी अलग-अलग पंक्तियों के लिए झूठी या अशक्त लौटानी चाहिए A और B ), और कृपया एक gist . का उपयोग करें इस बाधा की निगरानी के लिए अनुक्रमणिका"।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज में टाइपओआरएम सरणी समर्थित नहीं है?

  2. Django सेटिंग:psycopg2.OperationalError:FATAL:उपयोगकर्ता इंडिवो के लिए पीयर प्रमाणीकरण विफल

  3. पोस्टग्रेस्क्ल में पीएल/पर्ल मेल भेजें

  4. तैयार स्टेटमेंट में खाली LIKE का प्रदर्शन प्रभाव

  5. pg_restore:[संग्रहकर्ता] फ़ाइल हेडर में असमर्थित संस्करण (1.13)