समस्या:
आप PostgreSQL में एक तालिका में बाधाओं के नाम खोजना चाहते हैं।
उदाहरण:
हम तालिका में बाधाओं के नाम प्रदर्शित करना चाहते हैं student
।
समाधान:
SELECT conname, contype FROM pg_catalog.pg_constraint JOIN pg_class t ON t.oid = c.conrelid WHERE t.relname ='student';
ये रहा परिणाम:
नाम | प्रतिरूप |
---|---|
student_age_check | सी |
student_pkey | p |
student_personal_number_key | यू |
student_country_id_fkey | f |
चर्चा:
PostgreSQL में एक बाधा का नाम खोजने के लिए, pg_constraint
pg_catalog
स्कीमा। दृश्य में शामिल हों pg_catalog.pg_constraint
दृश्य के साथ pg_class
(JOIN pg_class t ON t.oid = c.conrelid
) और relname
. का उपयोग करें स्तंभ तालिका नाम से बाधाओं को फ़िल्टर करने के लिए। हमारे उदाहरण में, हम तालिका student
(WHERE t.relname ='student'
)।
कॉलम चुनें conname
और contype
बाधा प्रकार के साथ बाधा नाम देखने के लिए। कॉलम में contype
, मान 'p' एक प्राथमिक कुंजी के लिए है, 'f' एक विदेशी कुंजी के लिए है, 'u' UNIQUE
के लिए है बाधा, और 'c' CHECK
. के लिए है बाधा।
उदाहरण के लिए, आप student_pkey
. नामक बाधा देख सकते हैं student
टेबल। contype
कॉलम आपको बाधा का प्रकार बताता है, जो प्राथमिक कुंजी के लिए p
है . conname
इस दृश्य में कॉलम आपको इस बाधा वाली तालिका के बारे में भी बताता है।