PostgreSQL v9.0 पर मैंने वाल आर्काइविंग सिस्टम काम कर रहा है। तो वाल एक नियमित रूप से संग्रहीत फ़ाइल (जब 3 वाल बनाया जाता है या अगर एक वाल 15 मिनट से अधिक पुराना है)।
अब मैं PG_DATA निर्देशिका (pg_xlog उपनिर्देशिका को छोड़कर) का एक बाइनरी पैक जोड़ता हूं। ऐसा करने के लिए मैं एक pg_start_backup(),
बाइनरी कॉपी करता हूं , और ए pg_stop_backup()
।
मुझे लगता है कि मैं अच्छी तरह से समझता हूं कि pg_start_backup और pg_stop_backup क्या कर रहे हैं, पहले वाला एक चेकपॉइंट बनाता है और अंतिम सुनिश्चित करता है कि अंतिम वाल फ़ाइल संग्रहीत है।
से आधिकारिक दस्तावेज हम देख सकते हैं कि बाइनरी डेटा कॉपी के लिए हमें:
किसी भी सुविधाजनक फ़ाइल-सिस्टम-बैकअप उपकरण जैसे कि टार या सीपीओ (pg_dump या pg_dumpall नहीं) का उपयोग करके बैकअप का प्रदर्शन करें। ऐसा करते समय डेटाबेस के सामान्य संचालन को रोकना न तो आवश्यक है और न ही वांछनीय है।
तो मैं काफी हैरान हूं। इसका मतलब है कि जब हम कॉपी बनाते हैं तो एक चेकपॉइंट किया जा सकता है। मैंने बहुत सारे प्रलेखन को यह कहते हुए देखा कि कॉपी कमांड को कॉपी प्रदर्शन करते समय डेटा परिवर्तन की अनुमति देनी चाहिए, मैं ठीक हूं, इसके साथ ही सही उपकरण खोजने की बात है। लेकिन मेरा सवाल यह है कि postgreSQL कुछ फ़ाइलों के साथ pg_data सामग्री के साथ पुनर्प्राप्ति को कैसे संभालेगा जो असंगत हैं (कुछ चौकी से पहले, कुछ बाद से)?
लेन-देन लॉग को फिर से देखने से Postgresql इन सभी फ़ाइलों को सही स्थिति में रख पाएगा? मैंने देखा कि टेबल बनाना और ड्रॉप ऑपरेशन खतरनाक है जबकि बैकअप प्रदर्शन कर रहा है, क्या कुछ खतरनाक ऑपरेशन जैसे वैक्यूम कमांड नहीं हैं? क्या pg_backup वैक्यूम संचालन को निलंबित करता है? क्या मुझे बाइनरी कॉपी प्रक्रिया की शुरुआत में अंत में वैश्विक / pg_control फ़ाइल की एक प्रतिलिपि बनानी चाहिए? क्या मुझे एक तेज पुनर्स्थापना प्रक्रिया प्राप्त करने के लिए स्नैपशॉट-सक्षम फाइल सिस्टम (जैसे कि एक्सएफ़एस-फ्रीज़ के साथ) का उपयोग करना चाहिए?
मैंने देखा कि एक बैकअप स्क्रिप्ट क्रैश स्वचालित रूप से एक pg_stop_backup लॉन्च नहीं करेगा, इसलिए एक मौका है कि मेरी बैकअप स्थिति लंबे समय तक रहती है (जब तक कि मेरे nagios किसी को pg_stop_backup () को ठीक करने के लिए रिंग नहीं करता है। इसलिए अगर इन दोनों कॉमनर्स के बीच PostgreSQL में कुछ भी अलग है, तो मैं इसे जानना चाहता हूं, यह समझने के लिए कि इसका क्या प्रभाव पड़ सकता है।
कृपया मुझे बताएं।