कभी-कभी आपको PostgreSQL में दो स्कीमाओं की तुलना करने की आवश्यकता हो सकती है। आप इसे पूरा करने के लिए SQL क्वेरी का उपयोग कर सकते हैं, या कई तृतीय-पक्ष टूल में से एक का उपयोग कर सकते हैं जो आपको PostgreSQL में दो स्कीमा की तुलना करने की अनुमति देता है। इस लेख में हम PostgreSQL में दो स्कीमाओं की तुलना करने के दोनों तरीकों को देखेंगे।
PostgreSQL में दो स्कीमाओं की तुलना कैसे करें
हम PostgreSQL में दो स्कीमाओं की तुलना करने के दो तरीकों को देखेंगे - SQL क्वेरी का उपयोग करना और pgAdmin का उपयोग करना।
SQL का उपयोग करके दो योजनाओं की तुलना करें
यहाँ दो स्कीमा की तुलना करने के लिए SQL क्वेरी है। स्कीमा 1 और स्कीमा 2 को उन दो स्कीमाओं के नामों से बदलें, जिनकी आप तुलना करना चाहते हैं।
select COALESCE(c1.table_name, c2.table_name) as table_name, COALESCE(c1.column_name, c2.column_name) as table_column, c1.column_name as schema1, c2.column_name as schema2 from (select table_name, column_name from information_schema.columns c where c.table_schema = 'schema1') c1 full join (select table_name, column_name from information_schema.columns c where c.table_schema = 'schema2') c2 on c1.table_name = c2.table_name and c1.column_name = c2.column_name where c1.column_name is null or c2.column_name is null order by table_name, table_column;
उपरोक्त क्वेरी मूल रूप से किसी भी स्कीमा में मौजूद सभी पंक्तियों को अन्य स्कीमा में इसकी उपस्थिति/अनुपस्थिति के बारे में जानकारी के साथ सूचीबद्ध करती है।
- table_name - स्कीमा 1 या स्कीमा 2 में मौजूद तालिका का नाम
- table_column - स्कीमा 1 या स्कीमा 2 में मौजूद कॉलम का नाम
- स्कीमा1 - यदि कॉलम स्कीमा 1 में मौजूद है तो उसका नाम प्रदर्शित होता है, अन्यथा यह शून्य है।
- स्कीमा2 - यदि स्कीमा 2 में कॉलम मौजूद है तो उसका नाम प्रदर्शित होता है, अन्यथा यह शून्य है।
pgAdmin में दो योजनाओं की तुलना करें
हम स्कीमा डिफ़ . का उपयोग करेंगे स्कीमा या डेटाबेस या अन्य वस्तुओं की तुलना करने के लिए pgAdmin की सुविधा।
स्कीमा डिफ टूल आपको दो डेटाबेस ऑब्जेक्ट्स के बीच अंतर का पता लगाने और डेटाबेस को सिंक्रोनाइज़ करने के लिए अलग-अलग SQL स्टेटमेंट को सूचीबद्ध करने की अनुमति देता है।
हालांकि, कृपया ध्यान दें, स्रोत और लक्ष्य सर्वर एक ही प्रमुख सर्वर संस्करण के होने चाहिए।
स्कीमा डिफ टूल का उपयोग करके दो स्कीमाओं की तुलना करने के चरण यहां दिए गए हैं।
1. स्कीमा डिफ़ . क्लिक करें विकल्प, उपकरण . के अंतर्गत मेनू।
2. आपको एक फॉर्म दिखाई देगा जहां आपको स्रोत और लक्ष्य का चयन करना होगा
3. अपनी आवश्यकता के आधार पर सर्वर संस्करण, स्रोत और लक्ष्य सर्वर और डेटाबेस/स्कीमा का चयन करें।
4. दो डेटाबेस/स्कीमा की तुलना करने के लिए तुलना करें पर क्लिक करें। आप वस्तु तुलना परिणाम की एक विस्तृत सूची देखेंगे, उसके बाद डीडीएल तुलना परिणाम
5. वस्तु तुलना परिणाम एक पेड़ के रूप में प्रस्तुत किया जाता है, जिसे आप विस्तार/संक्षिप्त करने के लिए क्लिक कर सकते हैं।
6. डीडीएल तुलना परिणाम 3 पैनलों में प्रस्तुत किए जाते हैं। बाएँ फलक में आपको स्रोत स्कीमा के SQL प्रश्न मिलेंगे। मध्य पैनल में, आपके पास लक्ष्य स्कीमा के लिए SQL कथन हैं। और दाएँ फलक में, आपको दो स्कीमाओं के SQL कथनों के बीच अंतर मिलेगा।
7. तुलना परिणामों को परिशोधित करने के लिए आपको कई विकल्प मिलेंगे जैसे कि क्वेरी संपादक, स्क्रिप्ट जनरेटर और फ़िल्टर।
pgAdmin स्कीमा अंतर SQL-आधारित स्कीमा तुलना की तुलना में बहुत अधिक व्यापक है, और इसकी अत्यधिक अनुशंसा की जाती है। उम्मीद है, यह लेख आपको PostgreSQL में दो स्कीमाओं की तुलना करने में मदद करेगा।
Ubiq डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में उनकी निगरानी करना आसान बनाता है। Ubiq को निःशुल्क आज़माएं।