दो बहुत भिन्न DBMS के बीच माइग्रेट करने के लिए केवल डेटा माइग्रेट करने की तुलना में बहुत अधिक की आवश्यकता होती है । लेकिन डेटा का माइग्रेशन आमतौर पर सबसे आसान हिस्सा है।
जिस तरह से मैंने कोशिश की है, जो मुफ़्त है और मैं पुष्टि कर सकता हूं कि यह काम करता है:
- एक mysql स्कीमा केवल डंप बनाएँ
- एक टेक्स्ट एडिटर और बहुत सारे खोज और प्रतिस्थापित करके SQL को समायोजित करें
- Postgres में परिवर्तित SQL चलाएँ
- MySQL से एक सादा पाठ डंप बनाएँ (जैसे CSV, या कुछ अन्य सीमांकित प्रारूप)
- PostgreSQL के COPY कमांड का उपयोग करके डेटा आयात करें
यदि आप अवैध डेटा को स्वीकार करने के लिए MySQL के व्यवहार पर भरोसा करते हैं तो डेटा आयात करना वास्तव में मुश्किल हो सकता है (जैसे कि 31 फरवरी)
मेरा अनुमान है, कि यह एक उपकरण की खोज करने, उनमें से एक गुच्छा का मूल्यांकन करने और फिर आपके द्वारा चुने गए को समझने की कोशिश करने की तुलना में तेज होने वाला है। लेकिन यह इस बात पर निर्भर करता है कि आप किस "बड़े" का जिक्र कर रहे हैं। यदि बड़ी कई सैकड़ों टेबल है तो यह संभव नहीं है। यदि बड़ी को केवल पंक्तियों की संख्या के रूप में संदर्भित किया जाता है, तो यह संभवतः ऐसा करने का सबसे तेज़ तरीका है।
यहां कुछ ऐसी उपकरण है कि एक डेटाबेस स्कीमा डंप कर सकते हैं एक डीबीएमएस में स्वतंत्र (XML) प्रारूप की तरह, कर रहे हैं Liquibase , SchemaSpy या WbSchemaReport । लिक्विबेस के साथ शायद इसका उपयोग सबसे आसान है। दूसरों को उत्पन्न XML को बदलने के लिए कुछ मैनुअल वर्क राइटिंग / XSLT का विस्तार करना होगा।
यदि आप MySQL में ट्रिगर और संग्रहीत प्रक्रियाओं का उपयोग कर रहे हैं, तो मुझे विश्वास नहीं है कि कोई भी स्वचालित उपकरण होगा जो बाद में एक प्रमुख मैनुअल फिक्सिंग की आवश्यकता के बिना उनका अनुवाद कर सकता है - और फिर उत्पन्न प्रक्रियाएं शायद लक्ष्य DBMS की किसी भी उन्नत सुविधाओं का उपयोग नहीं करेंगी ।