হট স্ট্যান্ডবাই সার্ভারে পিজি_ডাম্প চলছে?


21

দাবি অস্বীকার: আমি স্বীকার করে নিয়ে এখনও এটি চেষ্টা করি নি, তবে আমি নিশ্চিত না যে এটি সঠিকভাবে কাজ করছে না কিনা তা আমি জানতাম তাই আমি জিজ্ঞাসা করতে চেয়েছিলাম।

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

আমার প্রশ্নগুলি হ'ল:

  1. আমি কি সত্যিই এটি করতে চাই, বা ব্যাকআপটি প্রাথমিক সার্ভারে করা উচিত? কেন?

  2. স্ট্যান্ডবাইয়ের উপর কোনও ডাম্প করার সময় আমার কী সেটিংসের প্রয়োজন এবং সঠিকভাবে এটি করার জন্য আমার কী পদ্ধতি ব্যবহার করা উচিত? উদাহরণস্বরূপ, আমি ব্যাকআপ সময়কাল জন্য প্রতিলিপি বন্ধ করতে হবে?


আমি প্রত্যাশা করব যে যদি আপনার প্রতিলিপি স্থিতাবস্থায় স্ট্যান্ডবাই ডাটাবেস রাখে, আপনার ব্যাকআপটি সামঞ্জস্য থাকবে। pg_dumpডকুমেন্টেশনের হিসাবে বলা হয়েছে: "এটি ডাটাবেস একই সাথে ব্যবহার করা হলেও সামঞ্জস্যপূর্ণ ব্যাকআপ দেয়।" pg_dumpallপ্রতিটি ডাটাবেসের জন্য প্রাক্তন চালায়।
dezso

উত্তর:


21

আফাইক, চলছে pg_dump হট স্ট্যান্ডবাইতে স্ট্যান্ডবাইসের জন্য অন্যতম কার্যকর জিনিস। এটি পুরোপুরি নিরাপদ, যদিও এটি পুরোপুরি নির্ভরযোগ্য নয় - মাস্টারের থেকে অনেক দূরে পড়লে স্ট্যান্ডবাই লেনদেন বন্ধ রাখে তবে ডাম্পগুলি ব্যর্থ হতে পারে।

কেবলমাত্র আপনার কেবলমাত্র দেখার প্রয়োজনটি স্ট্যান্ডবাইটি বর্তমান এবং তা বজায় রেখে চলছে তা নিশ্চিত করা। যদি স্ট্যান্ডবাই মাস্টারটির সাথে তার সংযোগ হারিয়ে ফেলে এবং খুব বেশি পিছনে পড়ে যায় তবে আপনি তিন সপ্তাহের মেয়াদোত্তীর্ণ স্ট্যান্ডবাইকে আনন্দের সাথে ব্যাক আপ করতে চান না।

ব্যাকআপ চলাকালীন আপনাকে মাস্টারের থেকে অনেক বেশি পিছনে পড়তে হবে, যেহেতু pg_dumpওয়ালকে পুনরায় চালানো চালিয়ে যাওয়ার জন্য এটি অন্যথায় আপনার লেনদেনটি বাতিল করতে হবে। হট স্ট্যান্ডবাইতে ডকুমেন্টেশন দেখুন , বিশেষত "হ্যান্ডলিং কোয়েরি বিরোধগুলি" বিভাগ max_standby_archive_delayএবং max_standby_streaming_delayপরামিতিগুলি।

মনে রাখবেন যে স্লেভকে আবার ধরে ফেলতে দেওয়ার জন্য মাস্টার অবশ্যই পর্যাপ্ত ওয়াল সংরক্ষণাগার সংরক্ষণে রাজি থাকতে হবে।


12
  1. আমরা স্ট্যান্ডবাইতে ব্যাকআপ করি, এটি পুরোপুরি ঠিক আছে।
  2. স্ট্যান্ডবাই সিস্টেমে ব্যাকআপ চলাকালীন বাতিল হওয়া বিবৃতি বিরোধ থেকে বাঁচতে আপনার স্ট্যান্ডবাই ব্যবহার করে প্রতিলিপিটি বিরতি দিতে হবে SELECT pg_xlog_replay_pause();, তারপরে SELECT pg_xlog_replay_resume();পুনরায় প্রতিস্থাপনের জন্য রান শেষ হয়ে গেলে আপনার ব্যাকআপটি চালান । মনে রাখবেন যে উপরের কমান্ডগুলি চললে দাসের উপর পুনরুদ্ধার পিছিয়ে যাবে, যা আপনার ডাটাবেসের আকারের উপর নির্ভর করে বেশ বড় হতে পারে। এছাড়াও, ওয়াল বিভাগগুলি যে জায়গাগুলি গ্রহণ করবে তা বিবেচনায় রাখুন, কারণ বিরতি দেওয়ার সময় সেগুলি ক্রীতদাসে পুনরায় খেলানো হবে না।

ডকুমেন্টেশনে আপনি আরও কিছু দরকারী প্রশাসনিক কার্যাদি পেতে পারেন । উদাহরণ হিসেবে বলা যায়, চেক যদি সার্ভার পুনরুদ্ধারের আসলে, এটা pausing করার পূর্বে: SELECT pg_is_in_recovery()


0

যদি আপনি ব্যাকআপটির সময় প্রতিলিপিটি বিরতি দেন, (এটি নিখরচায়তা এবং দৃ This়তা সংরক্ষণের জন্য একটি ভাল ধারণা), আপনি আপনার মাস্টার পোস্টগ্র্যাসিতে কিছু লাইন সম্পাদনা করতে পারেন:

আপনার ব্যাকআপটি অভ্যাসগতভাবে কতটা বিলম্ব করছে। রেপ্লিকেশনটি পুনরায় শুরু করতে প্রয়োজনীয় মাস্টার নোড পুরো এক্স_লগ ফাইল সংরক্ষণ করে রাখুন তা নিশ্চিত করুন। আপনি postgresql.conf সম্পাদনায় এটি করতে পারেন

wal_keep_segments = 32      # in logfile segments, 16MB each; 0 disables

আপনি যদি এটিকে সংশোধন না করেন এবং আপনার ব্যাকআপ প্রক্রিয়াটি খুব দীর্ঘ, সম্ভবত মাস্টার নোড xlog ফাইলগুলি স্লেভকে প্রেরণের আগে মুছবেন।


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