PostgreSQL 9: दर्पण पर प्राथमिक प्रतिकृति पर एक तालिका को वैक्यूम करना है?


18

पोस्टग्रेएसक्यूएल 9.0.1 चलाने के साथ, स्ट्रीमिंग प्रतिकृति के साथ केवल एक रीड-ओनली मिरर इंस्टेंस को रखा जा सकता है। व्यावसायिक-घंटे IO को कम करने के प्रयास में, ऑटो-वैक्यूम डेमॉन द्वारा वैक्यूम नहीं किए जाने वाले कुछ तालिकाओं को छोड़कर, ऑटो-वेक्युम प्राथमिक पर है। ये टेबल "भौतिकवादी विचार" हैं।

प्रत्येक रात आधी रात को, हम उन तालिकाओं को साफ करने के लिए डेटाबेस में एक वैक्यूम चलाते हैं, जिन्हें ऑटो-वैक्यूम से बाहर रखा गया है। मैं सोच रहा था कि क्या यह प्रक्रिया दर्पण के पार है, या अगर मुझे दर्पण पर वैक्यूम स्थापित करने की आवश्यकता है?


1
बहुत बढ़िया सवाल। स्ट्रीमिंग प्रतिकृति राइट-अहेड लॉग का उपयोग करता है, इसलिए यह नीचे उबलता है कि क्या परिवर्तन VACUUM बनाता है या नहीं।
डेरफक डे

1
दिलचस्प बात यह है कि मेरे पास रीड-ओनली मिरर पर ऑटो-वैक्यूम चालू है, लेकिन तालिका के आँकड़ों को देखकर ऐसा नहीं लगता कि यह कभी चला हो; सभी तालिकाओं की सूची में 0 लाइव / डेड ट्यूपल्स हैं, और वेक्युम या विश्लेषण के लिए दिखाई देने वाले कोई इतिहास नहीं हैं।
स्कॉट हर्बर्ट

developer.postgresql.org/pgdocs/postgres/hot-standby.html - 25.5.2। क्वेरी से निपटने में संघर्ष - "स्टैंडबाय लेनदेन के साथ वाल संघर्षों से एक वैक्यूम सफाई रिकॉर्ड का अनुप्रयोग जिनके स्नैपशॉट अभी भी हटाए जा सकने वाली पंक्तियों में से कोई भी" देख सकते हैं "............. इससे लगता है कि रिक्त स्थान वाल लॉग किया गया है, और इसलिए यह मेरे प्रश्न के लिए "हाँ" है। हालांकि पीजी गुरु से कुछ और जानकारी प्राप्त करना पसंद करेंगे!
स्कॉट हर्बर्ट

डायनेमिक विचारों से डेटा प्राथमिक बनाम स्टैंडबाय पर अलग होने की उम्मीद है। ये विचार डेटा को इकट्ठा करने के लिए सिस्टम फ़ंक्शंस का उपयोग करते हैं, और वे फ़ंक्शंस भौतिक तालिका के बजाय इन-मेमोरी डेटा संरचनाओं से डेटा को पढ़ते हैं। उदाहरण के लिए, प्राथमिक पर एक ANALYZE प्रदर्शन करने से स्टैंडबाय पर भी ऑप्टिमाइज़र आँकड़े (क्वेरी योजना के लिए उपयोग किए गए) अपडेट हो जाएंगे, लेकिन तालिका में ANALYZE जिस समय प्रदर्शित किया गया था, वह pg_stat_user-tables में प्रतिबिंबित नहीं होगा, क्योंकि उस जानकारी को लेन-देन में लॉग नहीं किया गया है। लॉग।
गुरजीत सिंह 22

तो निष्कर्ष यह है कि मास्टर पर होने वाले AUTOVACUUM का गुलाम पर चलने का कोई प्रभाव नहीं है, सही है? यह मानते हुए कि अगर मेरे पास कोई तालिका है जिसमें कोई अद्यतन / हटाए नहीं गए हैं, तो बस आवेषण है, क्या यह मास्टर में ऑटोवैक्यूम को अक्षम करने के लिए संभव होगा, क्योंकि मैं इसे लिख रहा हूं, और पठन दास पर होता है।
हेनले चिउ

जवाबों:


16

वैक्यूम और ऑटोवैक्यूम किसी भी अन्य लिखने के ऑपरेशन की तरह दोहराते हैं। (ठीक है, वे स्पष्ट रूप से कुछ विशेष रूप से आंतरिक रूप से हैं, लेकिन जहां तक ​​आपके सवाल का संबंध है, वे सामान्य रूप से लिखने के संचालन हैं।) गुलाम पर वैक्यूम या ऑटोवैक्यूम चलाना कुछ भी नहीं करता है और आवश्यक नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.