আমি মনে করি না আপনি নিজেই শূন্যতার দরকার, যদি না আপনি পারফরম্যান্সের অবনতি দেখতে না পান। যাইহোক, আমি দৃ recommend়ভাবে আপনার শূন্যতা এবং অটোভ্যাকুয়াম সেটিংস পর্যালোচনা করার এবং এটি আপনার প্রয়োজনীয়তার সাথে সামঞ্জস্য করার পরামর্শ দেব
আপনার বর্তমান সেটিংস দেখতে, এই কোয়েরিটি চালান:
SELECT *
FROM pg_settings
WHERE name LIKE '%vacuum%'
বেশিরভাগ ক্ষেত্রগুলি স্ব-ব্যাখ্যামূলক তবে এখানে তাদের উপর নথিপত্র রয়েছে:
https://www.postgresql.org/docs/current/static/runtime-config-autovacuum.html
আমি বলব, যে আপনার লক্ষ্যটি অবিচ্ছিন্নভাবে আবর্জনা পরিষ্কার করার জন্য অটোভ্যাকুয়ামটি কনফিগার করা উচিত, তবে অটোভাকুমটি অবিচ্ছিন্নভাবে চালনা করবেন না
সর্বাধিক গুরুত্বপূর্ণ সেটিংস হ'ল:
- অটোভ্যাকুয়াম_ভ্যাকুয়াম_স্কেল_ফ্যাক্টর - ক্লুপআপ ট্রিগার হওয়ার আগে মৃত হতে পারে এমন শতকরা শতাংশ নির্ধারণ করে। ডিফল্ট মান = 0.2
- অটোভ্যাকুয়াম_ভ্যাকুয়াম_ থ্রেসহোল্ড - ক্লিনআপ ট্রিগার হওয়ার আগে ন্যূনতম মৃত টুপলের সংখ্যা। ডিফল্ট মান = 50
থ্রেশহোল্ড ছোট টেবিলগুলির জন্য প্রায়শই ক্লিনআপ প্রক্রিয়াটি ট্রিগার করা রোধ করতে সহায়তা করে।
আপনার খুব বড় টেবিল না থাকলে ডিফল্ট সেটিংস ঠিক আছে। সোজা কথায়, যদি আপনার যদি টেবিলটি 100 গিগাবাইট লাগে তবে আপনি অটোভ্যাকুয়াম ট্রিগার হওয়ার আগেই 20 গিগাবাইট আবর্জনা সংগ্রহ করতে যাচ্ছেন। সুতরাং, আমি সাধারণত স্কেল ফ্যাক্টর কম সেট করার পরামর্শ দিই। আপনার নিজের জন্য কতটা নিচু করা উচিত। আমি আমার বর্তমান প্রকল্পে 0.05 ব্যবহার করি
থ্রেশহোল্ডগুলিও বাড়ানো যেতে পারে। অনেক অ্যাপ্লিকেশনগুলিতে বেশ কয়েকটি টেবিল থাকে যা ঘন ঘন আপডেট হয় এবং 50 টি টিউপস তেমন হয় না। এটি 1000 কে বাড়িয়ে দেওয়া কোনও সমস্যার কারণ হতে পারে না, তবে অবশ্যই আপনার নিজের ক্ষেত্রে বিবেচনা করা উচিত
আপনি স্বতঃব্যাকিউম টিউন করতে পারেন এবং আপনার কয়েকটি টেবিলের জন্য আলাদা সেটিংস রাখতে পারেন
ALTER TABLE your_table SET (autovacuum_vacuum_scale_factor = 0.05);
আপনি যদি স্কেল_ ফ্যাক্টর এবং থ্রেশহোল্ডগুলি কনফিগার করেন তবে আপনার ঠিক আছে। আপনিও বৃদ্ধি পেতে পারেন autovacuum_vacuum_cost_limit
যা ডিফল্টরূপে সমান হয় vacuum_cost_limit
যা 200 এ সেট করা থাকে This এটি শূন্যতার একটি খুব গুরুত্বপূর্ণ বৈশিষ্ট্য, যা এটি সমস্ত উত্স খেয়ে ফেলতে দেয় না এবং শূন্যতার প্রক্রিয়া চলাকালীন আপনার অ্যাপ্লিকেশনটিকে ডেটা দিয়ে পরিচালনা করতে দেয় তবে ডিফল্ট মানটি খুব কম। এটি 1000 এ বাড়িয়ে দেওয়া কোনও তাত্পর্যপূর্ণ বিলম্বের কারণ না হওয়া উচিত, তবে ভ্যাকুয়াম প্রক্রিয়াটি আরও দ্রুত শেষ করতে দেয়
অবশ্যই, আপনি নিজেও ভ্যাকুয়াম চালাতে পারেন। খুব সাধারণ ক্ষেত্রে, আপনার ডিবি ঘন ঘন অ্যাক্সেস না করা হলে আপনি একটি সহজ ক্রোন জব করতে পারেন, যা প্রতি রাতে সম্পূর্ণ পরিচ্ছন্ন করে দেবে when
আশা করি এইটি কাজ করবে!