क्या पोस्टग्रैज में उम्र बढ़ने के पुराने रिकॉर्ड का समर्थन करने की कोई विशेषता है?
मैं एक प्रकार की कतार के रूप में लॉगिंग के लिए पोस्टग्रेज का उपयोग करना चाहता हूं, जहां दो सप्ताह से अधिक पुराने रिकॉर्ड (लॉग इवेंट) स्वचालित रूप से हटा दिए जाते हैं।
क्या पोस्टग्रैज में उम्र बढ़ने के पुराने रिकॉर्ड का समर्थन करने की कोई विशेषता है?
मैं एक प्रकार की कतार के रूप में लॉगिंग के लिए पोस्टग्रेज का उपयोग करना चाहता हूं, जहां दो सप्ताह से अधिक पुराने रिकॉर्ड (लॉग इवेंट) स्वचालित रूप से हटा दिए जाते हैं।
जवाबों:
समय-आधारित शासन पर स्वचालित रूप से पंक्तियों को हटाने के लिए कोई सुविधा नहीं बनाई गई है (जो मुझे पता होगा)।
आप साधारण आदेशों को शेड्यूल करने या उद्देश्य के लिए pgAgent का उपयोग करने के लिए दैनिक (आप तय करते हैं) क्रॉन-जॉब चला सकते हैं ।DELETE
या आप साप्ताहिक विभाजन के साथ विभाजन का उपयोग कर सकते हैं जो एक मास्टर टेबल से विरासत में मिलता है , इसे कॉल करने देता है log। यह बहुत सस्ते को नष्ट कर देगा : बस नवीनतम दो सप्ताह रखें और पुराने विभाजन को छोड़ दें।
मास्टर टेबल पर एक RULEया एक बनाएं जो TRIGGERINSERTs को सिस्टम समय के आधार पर चालू सप्ताह के विभाजन के लिए पुनर्निर्देशित करता है। हमेशा मास्टर टेबल पर लॉग इन करें log। समय से पहले बच्चे की टेबल बनाएं। सुनिश्चित करने के लिए कई सप्ताह पहले करें और एक साप्ताहिक क्रोन नौकरी चलाएं जो भविष्य के बच्चे की तालिकाओं को जोड़ता है ...
मैनुअल में कोड उदाहरण हैं ।
स्वचालित रूप से टेबल बनाने वाले एक plpgsql फ़ंक्शन के साथ संबंधित उत्तर:
संबंधित समाधान RULEINSERTs को पुनर्निर्देशित करता है। ट्रिगर फ़ंक्शन गतिशील रूप से वर्तमान विभाजन को लिख सकता है ...