अपडेट: मैंने इसके बारे में AWS फ़ोरम में पोस्ट किया है - कृपया इसमें झंकार जाएं और वहां इसके लिए पूछें ।
लेखन के समय, अमेज़ॅन आरडीएस आरडीएस के बाहर भौतिक प्रतिकृति का समर्थन नहीं करता है। आप एक लॉगिन का उपयोग करके GRANT
उपयोगकर्ताओं को REPLICATION
सही कर rds_superuser
सकते हैं, लेकिन आप replication
बाहरी IP के लिए प्रविष्टियों को कॉन्फ़िगर नहीं कर सकते pg_hba.conf
।
इसके अलावा, जब आप आरडीएस में एक डीबी पैरामीटर समूह बनाते हैं, तो कुछ प्रमुख पैरामीटर दिखाए जाते हैं, लेकिन लॉक किए जाते हैं, जैसे archive_command
, जिसे लॉक किया गया है /etc/rds/dbbin/pgscripts/rds_wal_archive %p
। PostgreSQL के लिए AWS RDS इन वॉल्स को बाहरी एक्सेस (S3 के माध्यम से कहना) के लिए प्रकट नहीं होता है, क्योंकि आपको बाहरी PITR के लिए वाल-शिपिंग प्रतिकृति का उपयोग करना होगा।
तो इस बिंदु पर, यदि आप वाल-शिपिंग चाहते हैं, तो RDS का उपयोग न करें। यह एक डिब्बाबंद आसान-से-उपयोग करने वाला डेटाबेस है, लेकिन आसान-से-उपयोग अक्सर इसका मतलब है कि यह भी सीमित है, और निश्चित रूप से यहां मामला है। जैसा कि जो लव टिप्पणियों में बताते हैं, यह आरडीएस के भीतर वाल शिपिंग और पीआईटीआर प्रदान करता है , लेकिन आप आरडीएस के बाहर से उस तक पहुंच प्राप्त नहीं कर सकते हैं ।
तो आपको आरडीएस की अपनी बैकअप सुविधाओं - डंप, स्नैपशॉट और स्वयं के वाल-आधारित पीआईटीआर का उपयोग करने की आवश्यकता है।
यहां तक कि अगर आरडीएस ने आपको प्रतिकृति कनेक्शन ( pg_basebackup
या स्ट्रीमिंग प्रतिकृति के लिए) बनाने दिया और आपको संग्रहीत वाल तक पहुंचने की अनुमति दी, तो आप वास्तव में उस वाल का उपभोग करने में सक्षम नहीं हो सकते हैं। आरडीएस एक पैक्ड पोस्टग्रैसीक्यू चलाता है, हालांकि कोई नहीं जानता कि कितना भारी पैच है या क्या यह ऑन-डिस्क प्रारूप को महत्वपूर्ण रूप से बदल देता है। यह अमेज़ॅन द्वारा चयनित वास्तुकला पर भी चलता है, जो कि शायद x64 लिनक्स है, लेकिन आसानी से निर्धारित नहीं है। चूंकि PostgreSQL की डिस्क प्रारूप और प्रतिकृति आर्किटेक्चर पर निर्भर हैं, आप केवल उसी आर्किटेक्चर के साथ मेजबानों को दोहरा सकते हैं जैसा कि अमेज़ॅन आरडीएस द्वारा उपयोग किया जाता है, और केवल तभी जब आपका पोस्टग्रेक्यूएल बिल्ड उनके साथ संगत था।
अन्य बातों के अलावा इसका मतलब है कि आपके पास आरडीएस से दूर जाने का कोई आसान तरीका नहीं है। आपको डेटाबेस के लिए लिखने के लिए लंबे समय तक सभी को रोकना pg_dump
होगा, इसे पुनर्स्थापित करना होगा, और नए डीबी को चालू करना होगा। प्रतिकृति और विफलता के साथ सामान्य ट्रिक, rsync, आदि के साथ काम नहीं करेंगे, क्योंकि आपके पास DB होस्ट तक सीधी पहुंच नहीं है।
यहां तक कि अगर आरडीएस एक अप्रकाशित पोस्टग्रेसीक्यूएल चलाता है, तो अमेज़ॅन शायद आपको आरडीएस में वाल स्ट्रीमिंग करने या pg_basebackup
सुरक्षा कारणों का उपयोग करके आरडीएस में आयात करने की अनुमति नहीं देना चाहेगा । PostgreSQL डेटा निर्देशिका को विश्वसनीय सामग्री के रूप में मानता है, और यदि आपने किसी भी चतुर 'LANGUAGE c' फ़ंक्शन को तैयार किया है, जो आंतरिक कार्यक्षमता को हुक करता है या कुछ और मुश्किल है, तो आप सर्वर का अधिक से अधिक उपयोग करने में सक्षम हो सकते हैं, जो कि आपके लिए आवश्यक है। । इसलिए अमेज़न जल्द ही इनबाउंड वाल की अनुमति नहीं देने वाला है।
वे आउटबाउंड वाल भेजने का समर्थन कर सकते हैं, लेकिन प्रारूप संगतता, परिवर्तन करने की स्वतंत्रता, आदि के साथ उपरोक्त मुद्दे अभी भी लागू होते हैं।
इसके बजाय आपको Londiste या Bucardo जैसे टूल का इस्तेमाल करना चाहिए।