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

AWS DMS का उपयोग करके माइग्रेशन के बाद PostgreSQL प्राथमिक कुंजी अनुक्रम खो गया

@a_horse_with_no_name ने मुझे सही दिशा में इंगित करने और AWS के साथ चैट करने के बाद मैं अपने स्वयं के प्रश्न का उत्तर देने में सक्षम हूं, कम से कम यदि आप AWS डेटाबेस माइग्रेशन सर्विस (DMS) का उपयोग कर रहे हैं।

समस्या यह है कि, डीएमएस केवल डेटा पर ही ध्यान केंद्रित करता है और वास्तव में स्कीमा नहीं (जो मुझे एक प्रमुख निरीक्षण की तरह लगता है, खासकर यदि आप एक ही डेटाबेस तकनीक का उपयोग कर रहे हैं लेकिन यह एक और मुद्दा है)। तो स्कीमा स्वयं माइग्रेट नहीं है। दस्तावेज़ीकरण वास्तव में यह स्पष्ट नहीं करता है।

इस समस्या को ठीक करने के लिए:

  1. रोकें (यदि यह अभी भी मौजूद है) मौजूदा AWS DMS माइग्रेशन
  2. मौजूदा माइग्रेट किए गए डेटाबेस को छोड़ दें, और उपयोग करने के लिए एक नया खाली स्कीमा बनाएं
  3. यहां दिए गए चरणों का पालन करें https://docs.aws. amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html Amazon Schema Conversation Tool (SCT) को स्थापित और सेटअप करने के लिए
  4. एक बार जब आप दोनों डेटाबेस से जुड़ जाते हैं, तो यहां दिए गए चरणों का पालन करें https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html अपने स्कीमा को "रूपांतरित" करने के लिए (मैंने इस डेटाबेस के लिए संपूर्ण "सार्वजनिक" स्कीमा किया ताकि यह सुनिश्चित हो सके कि सब कुछ कवर किया गया है
  5. अपने AWS DMS माइग्रेशन को बनाएं या संशोधित करें, लक्ष्य तालिका तैयारी मोड ="TRUNCATE" सुनिश्चित करें और लक्ष्य डेटाबेस पर विदेशी कुंजियों को अक्षम करें। यदि संशोधित कर रहे हैं, तो सुनिश्चित करें कि जब आपसे "रीस्टार्ट" कहा जाए तो फिर से शुरू न करें

मैंने अभी तक जो परीक्षण नहीं किया है वह यह है कि इस तथ्य को कैसे संभालना है कि मैं एक लाइव डेटाबेस माइग्रेट कर रहा हूं। इसलिए जब माइग्रेशन किया जाता है तो लक्ष्य डेटाबेस पर अनुक्रम पुराने हो सकते हैं। मेरा मानना ​​है कि मैं बाद में एससीटी में जा सकता हूं और केवल अनुक्रमों को माइग्रेट कर सकता हूं लेकिन मैंने अभी तक इसका परीक्षण नहीं किया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GroupingError:ERROR:कॉलम ग्रुप बाय क्लॉज में दिखाई देना चाहिए या एक समग्र फ़ंक्शन में उपयोग किया जाना चाहिए

  2. पोस्टग्रेज़ डीबी डिज़ाइन टेबल को सामान्य करें या ऐरे कॉलम का उपयोग करें

  3. PostgreSQL पर फ़ंक्शन के अंदर चर घोषित नहीं कर सकता

  4. PostgreSQL डोकर छवि में तालिका बनाएं

  5. परिकलित स्तंभों पर कार्य न करके आदेश यदि एकाधिक स्तंभों पर लागू करके आदेश दिया गया हो