के लिए पोस्टग्रेस्क्लुएल ऑटोमेटिंग वैक्यूम पूर्ण, हमारे पास PostgreSQL डेटाबेस सर्वर का उपयोग करके एक उत्पाद है जो कुछ सौ ग्राहकों पर तैनात है। उनमें से कुछ ने पिछले कुछ वर्षों में डेटा के गीगाबाइट एकत्र किए हैं। तो अगले संस्करण में हम स्वचालित सफाई प्रक्रियाओं को शुरू करेंगे जो धीरे-धीरे संग्रहित होंगे और रात्रि बैच नौकरियों के दौरान पुराने रिकॉर्ड हटाएंगे।ब्लॉग्टेड टेबल
यदि मैं सही ढंग से समझता हूं, ऑटोवैक्यूम टुपल्स में लात और विश्लेषण और पुनर्गठन करेगा, तो प्रदर्शन कम होगा जब कम रिकॉर्ड मौजूद थे।
वास्तविक डिस्क स्थान, जारी नहीं किया जाएगा अगर मैं सही ढंग से समझ, के बाद से है कि केवल एक वैक्यूम पूर्ण के साथ होता है, और कहा कि autovacuum से शुरू हो रहा नहीं है।
तो मैं एक स्वचालित प्रक्रिया के बारे में सोच रहा था जो ऐसा करेगा।
मुझे ब्लोट दृश्य मिला जो http://wiki.postgresql.org/wiki/Show_database_bloat पर nagios check_postgres द्वारा उपयोग किया जाता है।
क्या यह दृश्य अच्छा है? क्या मैं समझने में सही हूं कि tbloat है> 2, यह एक वैक्यूम पूर्ण का उपयोग कर सकता है? और यदि ibloat बहुत अधिक है, तो यह REINDEX का उपयोग कर सकता है?
दैनिक बैच नौकरी के रूप में चलाने के लिए निम्नलिखित नौकरी पर कोई टिप्पणी? केवल-विश्लेषण
select tablename from bloatview order by tbloat desc limit 1
vacuumdb -f -t tablename mydatabase
select tablename, iname from bloatview order by ibloat desc limit 1
reindexdb -t tablename -i iname mydatabase
जरुर साथ
vacuumdb -Z mydatabase
#vacuum, मैं अभी भी में एक अच्छा पर्ल स्क्रिप्ट में लपेट की जरूरत है crontab (हम उबंटू 12 का उपयोग कर रहे हैं), या postgresql कुछ प्रकार है शेड्यूलर का मैं यह कर सकता था?या यह कुल ओवरकिल है और क्या यह एक बहुत ही सरल प्रक्रिया है?
वैक्यूमडब-जेड शायद आवश्यक नहीं है, ऑटोवाक्यूम विश्लेषण को अद्यतित रखने का एक बहुत अच्छा काम करता प्रतीत होता है। – greyfairer