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.