परिचय
मूल रूप से 6 फरवरी, 2020 को ObjectRocket.com/blog पर प्रकाशित।
डेटाबेस प्रशासन कर्तव्यों में नियमित बैकअप लेना और रिस्टोर करना शामिल है, जो एक महत्वपूर्ण घटक है। ObjectRocket सभी डेटाबेस उत्पादों पर डिफ़ॉल्ट रूप से दो सप्ताह के रिटेंशन के साथ दैनिक बैकअप शामिल करता है और उन्हें सक्षम करता है।
ObjectRocket PostgreSQL® (Postgres) पेशकश एक बोनस जोड़ती है: राइट अहेड लॉग (WAL) आर्काइविंग और रिटेंशन विंडो के भीतर किसी भी समय रिस्टोर करने की क्षमता।
यह पोस्ट ObjectRocket सेवा पर Postgres के साथ पॉइंट-इन-टाइम रिकवरी (PITR) के माध्यम से आपका मार्गदर्शन करती है।
बिना झंझट के बैकअप
बैकअप प्रक्रिया पूरी तरह से स्वचालित है, और आपको कुछ भी करने की आवश्यकता नहीं है। हम सभी इंस्टेंस की लागत में दैनिक बैकअप शामिल करते हैं, और हर समय दो सप्ताह के बैकअप को बनाए रखते हैं। आप हमारे डैशबोर्ड या यूजर इंटरफेस (UI) का उपयोग करके अपने बैकअप समय और पिछले बैकअप की स्थिति देख सकते हैं, जैसा कि निम्न चित्र में दिखाया गया है:
एकाधिक रिस्टोर विकल्प
जब आप किसी परिदृश्य का सामना करते हैं और बैकअप रिस्टोर करना चाहते हैं, तो हम कई विकल्प प्रदान करते हैं। आप निम्नलिखित बिंदुओं से रिस्टोर कर सकते हैं:
- सबसे हालिया WAL अपडेट जो हमने स्टोर किया है
- एक विशिष्ट बेस बैकअप
- समय में एक विशिष्ट बिंदु
सभी मामलों में, सिस्टम आपके डेटा को एक नए Postgres इंस्टेंस में रिस्टोर करता है। इस समय, इंस्टेंस स्टोरेज मूल इंस्टेंस पर स्टोरेज से अधिक या बराबर होना चाहिए। इस प्रक्रिया में, जिसे कभी-कभी डेटाबेस फोर्क कहा जाता है, आप अपने डेटा को एक नए और अलग डेटाबेस इंस्टेंस में रिस्टोर करते हैं। इसलिए पुराना और नया दोनों इंस्टेंस तब तक सक्रिय रहते हैं जब तक आप एक को हटा नहीं देते।
वर्तमान में रिस्टोर केवल हमारे API द्वारा उजागर किए जाते हैं। इस API का उपयोग करने के लिए स्वतंत्र महसूस करें। अन्यथा, हमारी सपोर्ट टीम प्रक्रिया के माध्यम से आपकी सहायता करने में प्रसन्न है। हम निकट भविष्य में UI में रिस्टोर जोड़ने की योजना बना रहे हैं।
नवीनतम समय पर रिस्टोर करें
यह उदाहरण एक साधारण डेटाबेस का उपयोग करता है जो हर मिनट एक टाइमस्टैम्प और एक अनुक्रम स्टोर करता है ताकि हम देख सकें कि हम किस बिंदु पर रिस्टोर हुए।
निम्न चित्र डेटाबेस दिखाता है, और आप देख सकते हैं कि अंतिम टाइमस्टैम्प 16:00:58 (UTC) पर था।
इस डेटाबेस में नवीनतम डेटा पर रिस्टोर करने के लिए, सोर्स इंस्टेंस की इंस्टेंस आईडी को एक नए इंस्टेंस क्रिएट कॉल में प्रदान करें, जैसा कि निम्न चित्र में दिखाया गया है:
इंस्टेंस रिस्टोर पूरा होने के बाद, कनेक्ट करें और अंतिम टाइमस्टैम्प जांचें।
जैसा कि आप देख सकते हैं, सभी डेटा मौजूद है, और नया Postgres इंस्टेंस सोर्स Postgres इंस्टेंस के साथ पूरी तरह से पकड़ा गया है।
आप इस परिदृश्य का उपयोग अपने वर्तमान डेटा से एक टेस्ट डेटाबेस बनाने के लिए कर सकते हैं ताकि आप अपने मूल डेटा को प्रभावित किए बिना एक नई सुविधा के साथ प्रयोग कर सकें।
एक विशिष्ट बैकअप पर रिस्टोर करें
बेस बैकअप से रिस्टोर करने के लिए, एक टारगेट बैकअप चुनकर शुरू करें। बैकअप सूचीबद्ध करते समय, ध्यान दें कि प्रत्येक बैकअप की एक विशिष्ट आईडी होती है जिसका उपयोग इसकी पहचान के लिए किया जा सकता है। निम्न चित्र में, आप देख सकते हैं कि सिस्टम ने 15:36:15 (UTC) पर बैकअप लिया:
इस सटीक बैकअप पर रिस्टोर करने के लिए, क्रिएट कॉल में बैकअप आईडी जोड़ें।
इंस्टेंस लोड होने के बाद, ध्यान दें कि बैकअप में 15:36:15 के बैकअप समय से पहले का डेटा और टाइमस्टैम्प हैं।
एक विशिष्ट समय पर रिस्टोर करें
उस समय को निर्दिष्ट करने के लिए जिसे आप रिस्टोर करना चाहते हैं, सोर्स इंस्टेंस आईडी और रिस्टोर करने का समय प्रदान करें, जैसा कि निम्न चित्र में दिखाया गया है:
इस मामले में, मैं 15:53:00 पर रिस्टोर करना चाहता हूं। रिस्टोर पूरा होने के बाद, आप देख सकते हैं कि डेटा केवल उस समय तक मौजूद है।
यदि आप पिछले चित्रों को देखते हैं, तो आप देख सकते हैं कि हमारे पास 15:53:00 पर एक और टाइमस्टैम्प था, जो 15:53:00 के ठीक 0.8 सेकंड बाद हुआ था। इसलिए यह इस रिस्टोर में शामिल नहीं होता। आप PITR के साथ अत्यंत बारीक हो सकते हैं ताकि डेटाबेस में एक समय और स्थिति को टारगेट किया जा सके।
निष्कर्ष
आप इस सभी डेटाबेस रिकवरी कार्यक्षमता का उपयोग कर सकते हैं। ध्यान रखें कि हम निकट भविष्य में और अधिक सुविधाएं और क्षमताएं जोड़ेंगे। हमेशा की तरह, हम आपको अपडेट रखेंगे, लेकिन अगर आपके कोई अनुरोध हैं तो हमें बताएं।