
pgbackrest release/2.59.0
एन्क्रिप्शन, डेल्टा रीस्टोर और एंटरप्राइज़ आपदा वसूली के लिए मल्टी-क्लाउड ऑब्जेक्ट स्टोर समर्थन के साथ PostgreSQL के लिए समानांतर बैकअप और रीस्टोर समाधान।
pgBackRest
विश्वसनीय PostgreSQL बैकअप और रिस्टोर
परिचय
pgBackRest PostgreSQL के लिए एक विश्वसनीय बैकअप और रिस्टोर समाधान है जो सबसे बड़े डेटाबेस और वर्कलोड तक सहजता से स्केल करता है।
pgBackRest v2.59.1 वर्तमान स्थिर रिलीज़ है। रिलीज़ नोट्स रिलीज़ पेज पर उपलब्ध हैं।
यदि आपको pgBackRest पसंद है तो कृपया हमें GitHub पर एक स्टार दें!
समाचार
17 अगस्त, 2026 - pgBackRest 2.59.1 जारी
20 जुलाई, 2026 - नया डिस्ट्रीब्यूशन टारबॉल
20 जुलाई, 2026 - pgBackRest 2.59.0 जारी
विशेषताएँ
समानांतर बैकअप और रिस्टोर
बैकअप ऑपरेशन के दौरान कम्प्रेशन आमतौर पर बाधा (bottleneck) होता है, इसलिए pgBackRest समानांतर प्रोसेसिंग और lz4 तथा zstd जैसे अधिक कुशल कम्प्रेशन एल्गोरिदम के साथ इस समस्या का समाधान करता है।
स्थानीय या रिमोट संचालन
एक कस्टम प्रोटोकॉल pgBackRest को न्यूनतम कॉन्फ़िगरेशन के साथ TLS/SSH के माध्यम से स्थानीय या रिमोट रूप से बैकअप, रिस्टोर और आर्काइव करने की अनुमति देता है। PostgreSQL को क्वेरी करने के लिए एक इंटरफ़ेस भी प्रोटोकॉल लेयर के माध्यम से प्रदान किया जाता है, जिससे PostgreSQL तक रिमोट एक्सेस की कभी आवश्यकता नहीं होती, जो सुरक्षा को बढ़ाता है।
एकाधिक रिपॉजिटरी
एकाधिक रिपॉजिटरी, उदाहरण के लिए, तेज़ रिस्टोर के लिए न्यूनतम रिटेंशन वाली स्थानीय रिपॉजिटरी और एंटरप्राइज़ में रिडंडेंसी और एक्सेस के लिए लंबी रिटेंशन वाली रिमोट रिपॉजिटरी की अनुमति देती हैं।
फुल, डिफरेंशियल और इंक्रीमेंटल बैकअप (फ़ाइल या ब्लॉक स्तर पर)
फुल, डिफरेंशियल और इंक्रीमेंटल बैकअप समर्थित हैं। pgBackRest rsync की समय-रिज़ॉल्यूशन समस्याओं के प्रति संवेदनशील नहीं है, जिससे प्रत्येक फ़ाइल का चेकसम लिए बिना डिफरेंशियल और इंक्रीमेंटल बैकअप सुरक्षित हो जाते हैं। ब्लॉक-स्तरीय बैकअप केवल फ़ाइलों के बदले हुए हिस्सों की प्रतिलिपि बनाकर स्थान बचाते हैं।
बैकअप रोटेशन और आर्काइव एक्सपायरी
किसी भी समयावधि के लिए कवरेज बनाने हेतु फुल और डिफरेंशियल बैकअप के लिए रिटेंशन नीतियाँ निर्धारित की जा सकती हैं। WAL आर्काइव को सभी बैकअप के लिए या केवल सबसे हाल के बैकअप के लिए बनाए रखा जा सकता है। बाद वाले मामले में, पुराने बैकअप को सुसंगत (consistent) बनाने के लिए आवश्यक WAL को आर्काइव में बनाए रखा जाएगा।
बैकअप अखंडता
बैकअप में प्रत्येक फ़ाइल के लिए चेकसम की गणना की जाती है और रिस्टोर या वेरिफाई के दौरान पुनः जाँच की जाती है। बैकअप फ़ाइलों की प्रतिलिपि समाप्त करने के बाद, यह तब तक प्रतीक्षा करता है जब तक कि बैकअप को सुसंगत बनाने के लिए आवश्यक प्रत्येक WAL सेगमेंट रिपॉजिटरी तक नहीं पहुँच जाता।
रिपॉजिटरी में बैकअप को मानक PostgreSQL क्लस्टर (टेबलस्पेस सहित) के समान प्रारूप में संग्रहीत किया जा सकता है। यदि कम्प्रेशन अक्षम (disabled) है और हार्ड लिंक सक्षम हैं, तो रिपॉजिटरी में बैकअप का स्नैपशॉट लेना और स्नैपशॉट पर सीधे PostgreSQL क्लस्टर चालू करना संभव है। यह टेराबाइट-स्तरीय डेटाबेस के लिए लाभदायक है, जिन्हें पारंपरिक तरीके से रिस्टोर करने में बहुत समय लगता है।
सभी ऑपरेशन स्थायित्व सुनिश्चित करने के लिए फ़ाइल और डायरेक्टरी स्तर के fsync का उपयोग करते हैं।
पेज चेकसम
यदि पेज चेकसम सक्षम हैं, तो pgBackRest बैकअप के दौरान प्रतिलिपि की गई प्रत्येक फ़ाइल के चेकसम को मान्य (validate) करेगा। फुल बैकअप के दौरान सभी पेज चेकसम मान्य किए जाते हैं और डिफरेंशियल तथा इंक्रीमेंटल बैकअप के दौरान बदली गई फ़ाइलों के चेकसम मान्य किए जाते हैं।
वैलिडेशन विफलताएँ बैकअप प्रक्रिया को नहीं रोकती हैं, लेकिन वास्तव में कौन से पेज वैलिडेशन में विफल रहे, इसके विवरण सहित चेतावनियाँ कंसोल और फ़ाइल लॉग में आउटपुट की जाती हैं।
यह सुविधा डेटा की मान्य प्रतियों वाले बैकअप की समाप्ति से पहले पेज-स्तरीय भ्रष्टाचार का शीघ्र पता लगाने की अनुमति देती है।
बैकअप रिज़्यूम
एक बाधित बैकअप को उस बिंदु से रिज़्यूम किया जा सकता है जहाँ इसे रोका गया था। पहले से प्रतिलिपि की गई फ़ाइलों की तुलना इंटीग्रिटी सुनिश्चित करने के लिए मैनिफेस्ट में मौजूद चेकसम से की जाती है। चूँकि यह ऑपरेशन पूरी तरह से रिपॉजिटरी होस्ट पर हो सकता है, यह PostgreSQL होस्ट पर लोड कम करता है और समय बचाता है, क्योंकि चेकसम गणना डेटा को कंप्रेस करने और पुनः प्रसारित करने की तुलना में तेज़ है।
स्ट्रीमिंग कम्प्रेशन और चेकसम
कम्प्रेशन और चेकसम गणनाएँ स्ट्रीम में की जाती हैं, जबकि फ़ाइलें रिपॉजिटरी में प्रतिलिपि की जा रही होती हैं, चाहे रिपॉजिटरी स्थानीय हो या रिमोट।
यदि रिपॉजिटरी किसी रिपॉजिटरी होस्ट पर है, तो कम्प्रेशन PostgreSQL होस्ट पर किया जाता है और फ़ाइलें संपीड़ित प्रारूप में प्रसारित की जाती हैं तथा केवल रिपॉजिटरी होस्ट पर संग्रहीत की जाती हैं। जब कम्प्रेशन अक्षम होता है, तो CPU लागत को न्यूनतम रखते हुए उपलब्ध बैंडविड्थ का कुशल उपयोग करने के लिए निम्न स्तर के कम्प्रेशन का उपयोग किया जाता है।
डेल्टा रिस्टोर
मैनिफेस्ट में बैकअप की प्रत्येक फ़ाइल के लिए चेकसम होते हैं, ताकि रिस्टोर के दौरान इन चेकसम का उपयोग करके प्रोसेसिंग को अत्यधिक तेज़ किया जा सके। डेल्टा रिस्टोर में, बैकअप में मौजूद नहीं होने वाली किसी भी फ़ाइल को पहले हटा दिया जाता है और फिर शेष फ़ाइलों के लिए चेकसम उत्पन्न किए जाते हैं। बैकअप से मेल खाने वाली फ़ाइलें यथावत छोड़ दी जाती हैं और बाकी फ़ाइलें सामान्य रूप से रिस्टोर की जाती हैं। समानांतर प्रोसेसिंग रिस्टोर के समय में नाटकीय कमी ला सकती है।
समानांतर, एसिंक्रोनस WAL पुश और गेट
WAL को आर्काइव में पुश करने और आर्काइव से WAL प्राप्त करने के लिए समर्पित कमांड शामिल हैं। दोनों कमांड प्रोसेसिंग को तेज़ करने के लिए समानांतरता का समर्थन करते हैं और PostgreSQL को सबसे तेज़ संभव प्रतिक्रिया समय प्रदान करने के लिए एसिंक्रोनस रूप से चलते हैं।
WAL पुश स्वचालित रूप से उन WAL सेगमेंट का पता लगाता है जो कई बार पुश किए जाते हैं और जब सेगमेंट समान होता है तो डी-डुप्लिकेशन करता है, अन्यथा एक त्रुटि उत्पन्न होती है। एसिंक्रोनस WAL पुश ट्रांसफर को किसी अन्य प्रक्रिया पर स्थानांतरित करने की अनुमति देता है, जो अधिकतम थ्रूपुट के लिए WAL सेगमेंट को समानांतर रूप से कंप्रेस करती है। यह अत्यधिक उच्च राइट वॉल्यूम वाले डेटाबेस के लिए एक महत्वपूर्ण सुविधा हो सकती है।
एसिंक्रोनस WAL गेट WAL सेगमेंट की एक स्थानीय कतार बनाए रखता है जो डीकंप्रेस्ड और रीप्ले के लिए तैयार होते हैं। यह PostgreSQL को WAL प्रदान करने में लगने वाले समय को कम करता है, जिससे रीप्ले गति अधिकतम होती है। उच्च-विलंबता (high-latency) कनेक्शन और स्टोरेज (जैसे S3) को सबसे अधिक लाभ मिलता है।
पुश और गेट दोनों कमांड PostgreSQL संस्करणों और सिस्टम पहचानकर्ताओं की तुलना करके यह सुनिश्चित करते हैं कि डेटाबेस और रिपॉजिटरी मेल खाते हैं। यह WAL आर्काइव स्थान को गलत तरीके से कॉन्फ़िगर करने की संभावना को लगभग समाप्त कर देता है।
टेबलस्पेस और लिंक समर्थन
टेबलस्पेस पूरी तरह से समर्थित हैं और रिस्टोर पर टेबलस्पेस को किसी भी स्थान पर रीमैप किया जा सकता है। एक ही कमांड से सभी टेबलस्पेस को एक स्थान पर रीमैप करना भी संभव है, जो डेवलपमेंट रिस्टोर के लिए उपयोगी है।
PostgreSQL क्लस्टर में किसी भी फ़ाइल या डायरेक्टरी के लिए फ़ाइल और डायरेक्टरी लिंक समर्थित हैं। रिस्टोर करते समय सभी लिंक को उनके मूल स्थानों पर रिस्टोर करना, कुछ या सभी लिंक को रीमैप करना, या कुछ या सभी लिंक को क्लस्टर डायरेक्टरी के भीतर सामान्य फ़ाइलों या डायरेक्टरी के रूप में रिस्टोर करना संभव है।
S3, Azure और GCS समर्थन
pgBackRest रिपॉजिटरी S3, Azure और GCS संगत ऑब्जेक्ट स्टोर में स्थित हो सकती हैं, जिससे लगभग असीमित क्षमता और रिटेंशन संभव होता है।
एन्क्रिप्शन
pgBackRest रिपॉजिटरी को एन्क्रिप्ट कर सकता है ताकि बैकअप जहाँ भी संग्रहीत हों, सुरक्षित रहें।
रैनसमवेयर और मैलवेयर सुरक्षा
जब रिपॉजिटरी वर्जन्ड ऑब्जेक्ट स्टोरेज पर संग्रहीत होती है, तो pgBackRest रिपॉजिटरी को उस रूप में पढ़ सकता है जैसा वह किसी समय-बिंदु (point-in-time) पर थी। यदि बैकअप दुर्घटना, मैलवेयर या रैनसमवेयर द्वारा हटा या दूषित किए जाते हैं, तो क्षति होने से पहले के डेटा को पुनर्प्राप्त करने के लिए एक लक्ष्य समय (target time) का उपयोग किया जा सकता है।
वर्जनिंग S3, Azure और GCS संगत ऑब्जेक्ट स्टोर द्वारा समर्थित है। S3 के लिए ऑब्जेक्ट लॉकिंग और GCS या Azure के लिए सॉफ्ट डिलीट छेड़छाड़ के विरुद्ध अतिरिक्त सुरक्षा प्रदान कर सकते हैं।
PostgreSQL के दस संस्करणों के साथ संगतता
pgBackRest में PostgreSQL के दस संस्करणों के लिए समर्थन शामिल है — पाँच समर्थित संस्करण और अंतिम पाँच EOL संस्करण। यह समर्थित संस्करण में अपग्रेड करने के लिए पर्याप्त समय देता है।
आरंभ करना
pgBackRest कॉन्फ़िगर और संचालित करने में आसान होने का प्रयास करता है:
- विभिन्न ऑपरेटिंग सिस्टम और PostgreSQL संस्करणों के लिए उपयोगकर्ता गाइड।
- कमांड-लाइन ऑपरेशन के लिए कमांड संदर्भ।
- pgBackRest कॉन्फ़िगरेशन बनाने के लिए कॉन्फ़िगरेशन संदर्भ।
प्रायोजक
प्रायोजन के बिना pgBackRest का अस्तित्व संभव नहीं होता: नई सुविधाएँ, बग फिक्स, योगदान समीक्षाएँ, सामुदायिक सहायता और रखरखाव — इन सभी में काफी समय लगता है। यदि आप अपने एंटरप्राइज़ में pgBackRest का उपयोग करते हैं, तो कृपया प्रायोजन पर विचार करें।
हमारे प्रायोजक: AWS, Supabase, pgEdge, Tiger Data, Percona, Eon, Xata, Dalibo, Data Egret।
हम अपने प्रायोजकों के प्रति आभारी हैं, जिन्होंने ओपन-सोर्स इंफ्रास्ट्रक्चर में निवेश किया जिससे संपूर्ण PostgreSQL समुदाय को लाभ मिलता है।
पिछले प्रायोजक: Crunchy Data, Resonate।
योगदान
pgBackRest में योगदान का हमेशा स्वागत है! सुविधाओं, सुधारों या मुद्दों में योगदान कैसे करें, इसकी जानकारी के लिए कृपया हमारे योगदान दिशानिर्देश देखें।
सहायता
pgBackRest MIT लाइसेंस के अंतर्गत पूर्णतः निःशुल्क और ओपन सोर्स है। आप इसका उपयोग व्यक्तिगत या व्यावसायिक उद्देश्यों के लिए बिना किसी प्रतिबंध के कर सकते हैं। बग रिपोर्ट को बहुत गंभीरता से लिया जाता है और जल्द से जल्द उनका समाधान किया जाएगा। कृपया बग यहाँ रिपोर्ट करें।
उचित रेप्लिकेशन और बैकअप रणनीतियों के साथ एक मजबूत डिज़ास्टर रिकवरी नीति बनाना एक अत्यंत जटिल और चुनौतीपूर्ण कार्य हो सकता है। आप पा सकते हैं कि आर्किटेक्चर चरण के दौरान और यह सुनिश्चित करने के लिए कि आपका एंटरप्राइज़ सुचारू रूप से चलता रहे, आपको सहायता और निरंतर समर्थन की आवश्यकता है।
हमारे प्रायोजक ऐसे उत्पाद और सेवाएँ प्रदान करते हैं जिनमें pgBackRest सहायता शामिल है और वे आपकी डिज़ास्टर रिकवरी आवश्यकताओं में मदद कर सकते हैं।