Pg_restore के दौरान चेकपॉइंट बहुत बार हो रहे हैं


15

PostgreSQL 9.2.2 (विंडोज 32 बिट्स) के तहत, मेरे पास एक pg_restoreकमांड है जो चेकपॉइंट आवृत्ति के बारे में लॉग चेतावनी में व्यवस्थित रूप से परिणाम देता है, उदाहरण के लिए:

LOG:  checkpoints are occurring too frequently (17 seconds apart)
HINT:  Consider increasing the configuration parameter "checkpoint_segments".

डेटाबेस 112 टेबल / आकार और लगभग 14 मिनट में पुनर्स्थापित करने के साथ 3.3 जीबी आकार का है।

यह एक के दौरान होने के लिए सामान्य है pg_restore?

जवाबों:


17

एक पूरे-डीबी पुनर्स्थापना के दौरान असामान्य नहीं है क्योंकि यह एक असाधारण विशाल ऑपरेशन है। यदि आप इसे सामान्य ऑपरेशन के दौरान देखते हैं, तो checkpoint_segmentsस्थायी रूप से त्रुटि संदेश संकेत की तरह अपनी सेटिंग बढ़ाने पर विचार करें ।

आप checkpoint_segmentsपुनर्स्थापना से ठीक पहले उच्च सेटिंग की समस्या पर जा सकते हैं और फिर इसे कम कर सकते हैं। यह वही है जो मैनुअल सुझाव देता है (स्पष्टीकरण सहित) :

अस्थायी रूप से checkpoint_segmentsकॉन्फ़िगरेशन चर बढ़ाने से बड़े डेटा लोड भी तेज हो सकते हैं। ऐसा इसलिए है क्योंकि PostgreSQL में बड़ी मात्रा में डेटा लोड करने से सामान्य चेकपॉइंट फ़्रीक्वेंसी ( checkpoint_timeoutकॉन्फ़िगरेशन चर द्वारा निर्दिष्ट ) की तुलना में अधिक बार होने वाली चौकियों का कारण होगा । जब भी कोई चेकपॉइंट होता है, तो सभी गंदे पन्नों को डिस्क में फ्लश करना चाहिए। checkpoint_segmentsबल्क डेटा लोड के दौरान अस्थायी रूप से बढ़ने से, आवश्यक चौकियों की संख्या कम हो सकती है।

अधिक विवरण के साथ संबंधित जवाब:

पोस्टगर्ल्स 9.5

आगामी नई रिलीज़ में एक स्मार्ट तरीका है। बीटा रिलीज़ नोट का हवाला देते हुए :

कॉन्फ़िगरेशन पैरामीटर checkpoint_segmentsको बदलें min_wal_size और max_wal_size(Heikki Linnakangas)

यह बड़ी संख्या में वाल फ़ाइलों को आवंटित करने की अनुमति देता है, अगर उन्हें ज़रूरत नहीं है तो उन्हें रखे बिना। इस प्रकार के लिए डिफ़ॉल्ट max_wal_size बढ़ा दिया गया है 1GB

एक तरफ: विचारों की संख्या मुश्किल से प्रासंगिक है, जिनके पास कोई डेटा नहीं है, बस "नुस्खा", यानी: दृश्य की क्वेरी और कुछ विशेषताएँ। हाथ में सवाल के लिए, मूल रूप से केवल बैकअप फ़ाइल का कुल आकार मायने रखता है।


चेकपॉइंट_सेक्शन को 30 पर सेट करने के बाद, लॉग में इनमें से कोई भी संदेश दिखाई नहीं देता है। धन्यवाद।
सेबास्टियन क्लेमेंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.