समस्या:
आप 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 इस दृश्य में कॉलम आपको इस बाधा वाली तालिका के बारे में भी बताता है।