এমএস এসকিউএল 2005 এ কোনও পোস্টগ্র্যাসকিউএল ডাটাবেস স্থানান্তর করার সেরা সরঞ্জাম?


8

পোস্টগ্রিজ এসকিউএল 8.3.1 এ আমার একটি ডাটাবেস রয়েছে যা আমি এমএস এসকিউএল সার্ভার 2005 (বা সম্ভবত ২০০৮) -তে সারণী স্কিমা এবং ডেটা উভয় সহ স্থানান্তরিত করতে চাই। প্রায় 400,000,000 সারি সহ ডাটাবেসটি প্রায় 50 গিগাবাইটের আকারের, তাই আমি মনে করি সহজ INSERT বিবৃতি প্রশ্নের বাইরে নয়। এই স্থানান্তর সম্পাদন করার জন্য কেউ কি সেরা সরঞ্জামের প্রস্তাব দিতে পারেন? স্পষ্টতই এটি নির্ভরযোগ্য হওয়া দরকার, সুতরাং উত্স হিসাবে যেমন লক্ষ্য ডিবিতে ডেটা ঠিক তেমন হয় এবং যুক্তিসঙ্গত সময়ের মধ্যে ডেটাগুলির এই পরিমাণকে অনুলিপি করতে সক্ষম হওয়া প্রয়োজন।


4
শুধু কৌতূহলের বাইরে: পৃথিবীতে আপনি এটি করতে চান কেন?
wzzrd

আমার ধারণা আপনি কেবল ডিবি কার্যকারিতা বাদ দিয়ে অন্য কোনও কারণে উইন্ডোজ সার্ভারে চলে যাচ্ছেন? আমি আশা করি :)
ওয়ারেন

উত্তর:


6

আমি বৃহত্তর টেবিলগুলির জন্য যে কাজ করেছিলাম তার কোনওটিই ডেটা হিসাবে তৃতীয় পক্ষের সরঞ্জাম ব্যবহার না করে শেষ করেছি। এমনকি এসএসআইএস ব্যর্থ হয়েছে। যদিও আমি স্কিমার জন্য একটি বাণিজ্যিক সরঞ্জাম ব্যবহার করেছি। সুতরাং আমার রূপান্তর প্রক্রিয়াটি নিম্নরূপ ছিল:

  1. স্কিমা অনুলিপি করতে সম্পূর্ণ রূপান্তর এন্টারপ্রাইজ (কোনও ডেটা নেই)।
  2. pg_dump পোস্টগ্র্রেস থেকে "সাদামাটা পাঠ্য" ফর্ম্যাটে ডেটা রফতানি করতে, যা মূলত একটি ট্যাব-বিভাজিত মান (টিএসভি) ফাইল।
  3. পাইথন স্ক্রিপ্টগুলি রফতানি হওয়া ফাইলগুলিকে বিসিপি ফর্ম্যাটে রূপান্তরিত করতে বুঝতে পারে।
  4. এমসিএসকিউএল- তে ডেটা আমদানি করার জন্য বিসিপি।

রূপান্তর পদক্ষেপটি পিজি_ডাম্প এবং বিসিপি দ্বারা ব্যবহৃত ফর্ম্যাটগুলিতে কিছু পার্থক্যের যত্ন নিয়েছিল, যেমন:

  • pg_dump ফাইলের শুরুতে কিছু পোস্টগ্রাস-নির্দিষ্ট স্টাফ রাখে এবং "।" দিয়ে ডেটা শেষ করে, বিসিপি পুরো ফাইলটি ডেটা ধারণ করে বলে প্রত্যাশা করে
  • পিজি_ডাম্প নুল মানগুলিকে "UL N" হিসাবে সংরক্ষণ করে, যখন বিসিপি কোনও NUL এর জায়গায় কিছুই আশা করে না (যেমন কলাম বিভাজকগুলির মধ্যে কোনও ডেটা নেই)
  • pg_dump ট্যাবগুলিকে "\ t" হিসাবে এনকোড করে এবং "\ n" হিসাবে নতুন লাইনগুলি তৈরি করে, যখন বিসিপি সেগুলি আক্ষরিক সাথে আচরণ করে
  • pg_dump সর্বদা বিভাজক হিসাবে ট্যাব এবং নিউলাইনগুলি ব্যবহার করে, যখন বিসিপি ব্যবহারকারীকে পৃথককারী নির্দিষ্ট করতে দেয়। যদি ডেটাতে কোনও ট্যাব বা নতুনলাইন থাকে তবে সেগুলি এনকোড করা না থাকলে এটি প্রয়োজনীয় হয়ে ওঠে।

আমি এটিও দেখতে পেলাম যে পোস্টগ্র্রেসে জরিমানা করা কিছু অনন্য বাধা এমএসএসকিউএলে লঙ্ঘিত হয়েছিল, সুতরাং আমাকে সেগুলি ফেলে দিতে হয়েছিল। এটি কারণ ছিল এমএসএসকিউএলে NULL = NULL (যেমন। NULL কে একটি অনন্য মান হিসাবে বিবেচনা করা হয়), তবে পোস্টগ্র্রেসে নয়।


এটি একটি এসকিউএল-সার্ভারের কৌতুক। একটি অনন্য বাধা পরিবর্তে, আপনি একটি ফিল্টার অনন্য আইএনএডএক্স সেট করতে হবে (যেখানে কলাম_নাম নাল নয়)।
Quantary

আপনি আমাকে এমন একটি সরঞ্জাম চালিত করেছেন যা আমি আমার বসকে কেনার জন্য নিশ্চিত করেছিলাম। এটি দুর্দান্ত #
#

6

আপনার যদি এসকিউএল 2005 বাক্সে উপযুক্ত পোস্টগ্রিস সমর্থনকারী ড্রাইভার ইনস্টল থাকে (অথবা পোস্টগ্রিসকে ওডিবিসির মাধ্যমে ব্যবহার করতে চান, বা পোস্টগ্র্রেস থেকে কোনও ফাইলে ডেটা ফেলে দিতে চান এবং সেখান থেকে আমদানি করতে চান) আপনি এসকিউএল সার্ভারে আমদানি / রফতানি উইজার্ডটি ব্যবহার করতে পারেন তথ্য কপি করার আদেশ। এটি আপনাকে বিভিন্ন প্রশ্ন জিজ্ঞাসা করবে এবং তারপরে উপযুক্ত ব্যাচের সন্নিবেশ ক্রিয়াকলাপগুলি ব্যবহার করে এসকিউএল সার্ভার ইন্টিগ্রেশন সার্ভিসেস (এসএসআইএস) প্যাকেজ কাজ হিসাবে আমদানি সম্পাদন করবে।

তবে যদি সেই উইজার্ড কোনও বিকল্প না হয় তবে এটি বিবেচনা করার মতো যে আপনার কাছে প্রচুর পরিমাণে সারি থাকলেও সারির পৃথক আকারের গড় গড়ে <135 বাইট হয় এবং 50 জিবি লেনদেনের জন্য পর্যাপ্ত পরিমাণ লেনদেনের স্থান দেওয়া হয় ' সরল সন্নিবেশ 'বিবৃতি এগুলি নিজেদের প্রশ্নের বাইরে নয়।


1
বিসিপি ব্যবহার করে দেখুন (এটি এমন একটি ইউটিলিটি যা এসকিউএল সার্ভারের সাথে আসে), যদি আপনি ডেটা রফতানি করে এবং তারপরে এসকিউএল সার্ভারে আমদানি করে থাকেন। এসএসআইএস ব্যবহার করা ভাল ধারণা যদিও আপনি যদি এটি সরাসরি পিজি সার্ভার থেকে পেতে চান তবে আপনাকে লগ সমস্যা দিতে পারে।
কল্টনগেট

এসএসআইএস প্যাকেজটি খুব আশাব্যঞ্জক বলে মনে হয়েছিল এবং আমি এটি চেষ্টা করেছিলাম, তবে দুর্ভাগ্যক্রমে এটি স্মৃতিশক্তি থেকে যায় এবং ব্যর্থ হয়। :( ত্রুটি [HY000] আউট মেমরি যখন tuples পড়া .; সময় ত্রুটি QUERY (PSQLODBC35W.DLL) নির্বাহ
ইএমপি

0

http://www.easyfrom.net/

আপনি সেখানে যান :) দুর্ভাগ্যক্রমে, এটি কিছুটা ব্যয়বহুল।


ধন্যবাদ, এটি চেষ্টা করে দেখুন, তবে বড় টেবিলগুলির সাথে কয়েকটি ত্রুটি ঘটেছে।
EMP

0

প্রায় 10 বছর পেরিয়ে গেছে এবং এটি এখনও সরাসরি এগিয়ে যাওয়ার সমস্যা নয়। আমি একটি হাইব্রিড সমাধান দিয়ে শেষ করেছি, আমি নিম্নলিখিত কমান্ডটি ব্যবহার করে স্কিমা এবং টেবিল / কলাম মন্তব্যগুলি রফতানি করে আমার নিজস্ব স্কিমা ম্যাপার ঘুরিয়েছি:

pg_dump --schema-only --no-owner --no-privileges your_db_name > schema_create_script.sql

আমি তখন একটি পিএইচপি স্ক্রিপ্ট লিখেছিলাম যা স্কিমাটি টি-এসকিউএলে অনুবাদ করেছিল। পরবর্তীতে, সারিগুলির আসল আমদানি করতে নিম্নলিখিত তৃতীয় পক্ষের সফ্টওয়্যারটি ব্যবহার করেছি (কোনও সম্পর্ক নেই):

http://www.convert-in.com/pgs2mss.htm

এটি কিছুটা ধীর ছিল তবে এতক্ষণ ভাল good আমাদের ডাটাবেসটি আপনার চেয়ে ছোট ছিল, কেবল 15 গিগাবাইট, তবে সেই সরঞ্জামটি এটি ভালভাবে পরিচালনা করেছিল। এটি আমার কাছে পাওয়া যায় সবচেয়ে সস্তা সস্তা the 50। এখন পর্যন্ত এটি বিনিয়োগের জন্য একটি মূল্যবান হয়েছে।

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