বার্ধক্যজনিত পুরানো রেকর্ডগুলি সমর্থন করার জন্য কি পোস্টগ্রিসের কোনও বৈশিষ্ট্য রয়েছে?
আমি লগিংয়ের জন্য পোস্টগ্র্রেসকে এক ধরণের কিউ হিসাবে ব্যবহার করতে চাই, যেখানে দুই সপ্তাহেরও বেশি পুরানো রেকর্ড (লগ ইভেন্টগুলি) স্বয়ংক্রিয়ভাবে মোছা হয়।
বার্ধক্যজনিত পুরানো রেকর্ডগুলি সমর্থন করার জন্য কি পোস্টগ্রিসের কোনও বৈশিষ্ট্য রয়েছে?
আমি লগিংয়ের জন্য পোস্টগ্র্রেসকে এক ধরণের কিউ হিসাবে ব্যবহার করতে চাই, যেখানে দুই সপ্তাহেরও বেশি পুরানো রেকর্ড (লগ ইভেন্টগুলি) স্বয়ংক্রিয়ভাবে মোছা হয়।
উত্তর:
সময় ভিত্তিক শাসন ব্যবস্থায় স্বয়ংক্রিয়ভাবে সারিগুলি মুছে ফেলার জন্য কোনও বৈশিষ্ট্য অন্তর্নির্মিত নেই (যা আমি জানতাম)।
আপনি সাধারণ কমান্ডগুলির সময় নির্ধারণের জন্য ক্রোন-কাজটি দৈনিক চালিয়ে যেতেDELETE
পারেন ( পিসিএজেন্ট ব্যবহার করতে)
অথবা আপনি কি ব্যবহার করতে পারে পার্টিশন সাপ্তাহিক পার্টিশন সঙ্গে যে একটি মাস্টার টেবিল থেকে উত্তরাধিকারী দেয় সেটিতে কল log
। এটি মুছে ফেলা খুব সস্তা করে তুলবে : কেবল সর্বশেষ দুই সপ্তাহ রাখুন এবং পুরানো পার্টিশন ফেলে দিন।
মাস্টার টেবিলে একটি RULE
বা একটি TRIGGER
তৈরি করুন যা সিস্টেমের সময়ের উপর ভিত্তি করে বর্তমান সপ্তাহের বিভাজনে INSERT গুলি পুনঃনির্দেশ করে। সর্বদা মাস্টার টেবিলে লগইন করুন log
। সময়ের আগে শিশু সারণী তৈরি করুন। নিশ্চিত হতে কয়েক সপ্তাহ আগে তা নিশ্চিত করুন এবং সাপ্তাহিক ক্রোন জব চালান যা ভবিষ্যতের চাইল্ড টেবিলগুলি যুক্ত করে ...
আছে ম্যানুয়াল কোড উদাহরণ ।
একটি plpgsql ফাংশন সম্পর্কিত সম্পর্কিত উত্তর স্বয়ংক্রিয়ভাবে টেবিল তৈরি করে:
সম্পর্কিত সমাধান RULE
INSERT গুলি পুনর্নির্দেশ করতে একটি পুনরায় তৈরি করে। একটি ট্রিগার ফাংশন বর্তমান পার্টিশনে গতিশীলভাবে লিখতে পারে ...