মাইএসকিএলকে পোস্টগ্রেস্কল এ কীভাবে রূপান্তর করবেন? [বন্ধ]


14

আমি মরিয়া হয়ে একটি বড় মাইএসকিএল ডেটাবেসকে পোস্টগ্রেএসএলএমে রূপান্তর করতে একটি রূপান্তর সরঞ্জামের সন্ধান করছি। আমার কাছে এই সরঞ্জাম / স্ক্রিপ্টটি দরকার:

  • বিনামূল্যে
  • লিনাক্সের অধীনে কাজ করে
  • বগি না ব্যবহার করার জন্য সহজ
  • আপনি আসলে চেষ্টা করেছেন এবং নিশ্চিত যে কাজ করে
  • সাধারণত, জাভা বা রুবির সাথে লেখা হয় না

আমি এখানে তালিকাভুক্ত বিভিন্ন সরঞ্জাম চেষ্টা করেছি , কিন্তু কেউই আমার পক্ষে কাজ করেনি।

তুমাকে অগ্রিম ধন্যবাদ.


আমি পোস্টগ্রেএসকিউএল বিশেষজ্ঞ নই, এখনও নিজেকে শিখছি। আমি আমার উত্তর সরিয়েছি। যাইহোক, অন্য কারও দ্বারা পোস্ট করা পোস্টগ্র্যাস্কল সহ মাইএসকিএলডাম্প সম্পর্কে আরও একটি প্রশ্ন রয়েছে: dba.stackexchange.com/q/9792/877 । আশা করি এটা সাহায্য করবে !!!
রোল্যান্ডোমাইএসকিউএলডিবিএ

1
জাভাতে লেখা সরঞ্জামগুলিতে কী সমস্যা? এবং যদি আপনি তাদের সবার সাথে " কাজ করে না " ঠিক কী তা বর্ণনা করেন তবে এটি সহায়ক হতে পারে ।
a_horse_with_no_name

উত্তর:


7

দুটি খুব আলাদা ডিবিএমএসের মধ্যে স্থানান্তরিত করার জন্য কেবল ডেটা স্থানান্তরিত করার চেয়ে আরও অনেক বেশি প্রয়োজন । তবে ডেটা স্থানান্তর সাধারণত সহজতম অংশ।

আমি যেভাবে চেষ্টা করেছি, যা নিখরচায় এবং আমি নিশ্চিত হয়ে উঠতে পারি যে এটি কার্যকর:

  • শুধুমাত্র একটি মাইএসকিএল স্কিমা তৈরি করুন
  • একটি পাঠ্য সম্পাদক এবং প্রচুর অনুসন্ধান এবং প্রতিস্থাপন ব্যবহার করে এসকিউএল সামঞ্জস্য করুন
  • পোস্টগ্রিসে রূপান্তরিত এসকিউএল চালান
  • মাইএসকিউএল থেকে একটি সরল পাঠ্য ডাম্প তৈরি করুন (যেমন সিএসভি, বা অন্য কিছু সীমিত ফর্ম্যাট)
  • PostgreSQL এর COPY কমান্ড ব্যবহার করে ডেটা আমদানি করুন

আপনি যদি মাইএসকিউএল এর অবৈধ ডেটা গ্রহণের আচরণের উপর নির্ভর করেন (31 শে ফেব্রুয়ারির মতো) ডেটা আমদানি করা সত্যিই কঠিন হতে পারে

আমার অনুমান, এটি কোনও সরঞ্জাম অনুসন্ধান করার চেয়ে আরও দ্রুত হতে চলেছে, সেগুলির একটি গুচ্ছকে মূল্যায়ন করে এবং তারপরে আপনি যা চয়ন করেছেন তা বোঝার চেষ্টা করছে। তবে এটি নির্ভর করে আপনি কোন ধরণের "বড়" উল্লেখ করছেন। বড় যদি কয়েক শ টেবিল হয় তবে এটি সম্ভবত সম্ভব হবে না। বড় যদি কেবল সারিগুলির সংখ্যা উল্লেখ করে, তবে এটি সম্ভবত এটি করার দ্রুততম উপায়।

কিছু সরঞ্জাম রয়েছে যা লিকুইবেস , স্কিমাএসপিএস বা ডাব্লুবিচেমারপোর্টের মতো একটি ডিবিএমএস ইন্ডিপেন্ডেন্ট (এক্সএমএল) ফর্ম্যাটে একটি ডাটাবেস স্কিমা ডাম্প করতে পারে । লিকুইবেস ব্যবহারের সাথে সম্ভবত সবচেয়ে সহজ। অন্যদের উত্পাদিত এক্সএমএলকে রূপান্তর করতে XSLT প্রসারিত কিছু ম্যানুয়াল কাজের প্রয়োজন হবে।

আপনি যদি মাইএসকিউএলে ট্রিগার এবং সঞ্চিত পদ্ধতি ব্যবহার করে থাকেন তবে আমি বিশ্বাস করি না যে কোনও স্বয়ংক্রিয় সরঞ্জাম থাকবে যা পরে কোনও বড় ম্যানুয়াল ফিক্সিংয়ের প্রয়োজন ছাড়াই তাদের অনুবাদ করতে পারে - এবং তারপরে উত্পন্ন পদ্ধতিগুলি সম্ভবত লক্ষ্য ডিবিএমএসের কোনও উন্নত বৈশিষ্ট্য ব্যবহার করবে না ।


6

এটি সম্প্রতি করণীয় ছিল এবং যেহেতু কোনও সরঞ্জাম সন্ধান করতে এবং এটি দিয়ে স্টাফ করতে সক্ষম হতে খুব বেশি সময় লেগেছিল, তাই আমি প্রতি হাতে এটি ভিএম এবং প্রতিস্থাপন-ফু দিয়ে করেছি

  • INT NOT NULL AUTO_INCREMENT(বা এই জাতীয় কিছু) এর সাথে প্রতিস্থাপন করুনSERIAL
  • একটি সম্পর্ত everythig স্ট্রিং পরিবর্তন TEXT(ব্যবহারে কোন গতি পার্থক্য TEXT, VARCHARবা অনুরূপ)
  • যারা চ *** আইএনপি ব্যাকটিকস of থেকে মুক্তি পান `
  • পোস্টগ্র্রেসে কোনও স্টোরেজ ইঞ্জিন নেই, সুতরাং ENGINE InnoDB(বা যাই হোক না কেন) সরান
  • অপসারণ UNSIGNED
  • প্রতিটি বিএলওবি ক্ষেত্র BYTEA
  • স্ট্রিংগুলিতে একক উদ্ধৃতি 'এবং অন্য কিছুই ব্যবহার করা হয়
  • আপনি কোথাও স্ট্রিং কনটেনটেশন ব্যবহার করেন, 9.1 থেকে শুরু করে, পোস্টারগ্রেস CONCAT9.1 এর আগে এটি অ-স্ট্যান্ডার্ড স্ট্রিং কনটেনটেশনের ফলব্যাক হিসাবে সমর্থন সমর্থন করে 'string' || ' string'
  • যে কোনও পদ্ধতিগত কোডটি আবার লিখুন ...
  • সংরক্ষিত নামের (যেমন টেবিল, নাম, ...) পাশাপাশি উপরের কেসের নামগুলি যত্ন নিন। তাদের ডাবল উদ্ধৃত করা প্রয়োজন"
  • সিনডেক্সে ভিন্নতা না থাকায় সূচিকাগুলিও একই রকম হওয়া উচিত
  • আমি ভুলে যাওয়া সমস্ত কিছুর জন্য, এই বিষয়ে উইকিবুকগুলি দেখুন

এই বুলেটগুলির প্রতিটি একক প্রতিস্থাপনের মাধ্যমে করা উচিত।

আমি আলাদাভাবে স্কিমা এবং ডেটা রফতানি করেছি । আপনি INSERTপরিবর্তে এর ব্যবহার করে তা নিশ্চিত করুন COPY। যদি কোনও ফ্যান্স স্টাফ চালু না থাকে তবে ডেটাটির জন্য (প্রায়) কোনও পরিষ্কারের প্রয়োজন নেই। নিশ্চিত হয়ে নিন যে সবকিছু চালু আছে UTF-8। 2 টি পৃথক ফাইলের সাহায্যে স্কিমাটি আরও পরিচালনাযোগ্য হয় এবং সম্পাদনা করার জন্য আপনার কাছে 1GB ফাইল নেই।

স্কিমাটি লোড করার সময়, আপনি ত্রুটি যেখানে রয়েছে সেখানে বেশ বিস্তারিত তথ্য পাবেন, তাই ডিবাগিংটি খুব সহজ হওয়া উচিত।


হাই, কীভাবে মাইএসকিউএল এর বিএলওবি ফিল্ড ডেটা পোস্টগ্রিজ এসকিউএল এর BYTEA তে রূপান্তর করবেন? আমি খুঁজে পেলাম যে আমি মাইকিউএলএর ডেটাটি সন্নিবেশ করানো এসকিএল হিসাবে ডাম্প করলে পোস্টগ্র্রেএসকিউএল-এ ডেটা লোড করা যায় না।
ফ্র্যাঙ্কস

1

আমি এটি এখানে ফেলে দিচ্ছি, এটির আগে কখনও চেষ্টা করে দেখিনি, তবে তিউঙ্গস্টেন প্রতিলিপি আপনি যা চান তা করতে পারে। এটি মূলত একটি প্রতিলিপি সরঞ্জাম, তবে আমি মনে করি এটিতে একটি বুটস্ট্র্যাপিং প্রক্রিয়া থাকতে পারে যা আপনাকে অন্তত ডেটা টুকরো দিয়ে সহায়তা করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.