खोज…


PostgreSQL में प्रतिकृति

  • प्राथमिक सर्वर को कॉन्फ़िगर करना

    • आवश्यकताएँ:

      • प्रतिकृति गतिविधियों के लिए प्रतिकृति उपयोगकर्ता
      • निर्देशिका वाल अभिलेखागार स्टोर करने के लिए
    • प्रतिकृति उपयोगकर्ता बनाएँ

      createuser -U postgres replication -P -c 5 --replication

        + option -P will prompt you for new password
        + option -c is for maximum connections. 5 connections are enough for replication
        + -replication will grant replication privileges to the user
      
    • डेटा निर्देशिका में एक संग्रह निर्देशिका बनाएँ

      mkdir $PGDATA/archive

    • Pg_hba.conf फ़ाइल संपादित करें

      यह होस्ट बेस ऑथेंटिकेशन फाइल है, जिसमें क्लाइंट ऑथरनेटिकेशन के लिए सेटिंग है। नीचे प्रविष्टि जोड़ें:

            #hosttype    database_name     user_name       hostname/IP      method
             host        replication       replication     <slave-IP>/32    md5
      
    • Postgresql.conf फ़ाइल संपादित करें

      यह PostgreSQL की कॉन्फ़िगरेशन फ़ाइल है।

      wal_level = hot_standby

      यह पैरामीटर दास सर्वर के व्यवहार को तय करता है।

         `hot_standby` logs what is required to accept read only queries on slave server.
      
         `streaming` logs what is required to just apply the WAL's on slave.
      
         `archive` which logs what is required for archiving.
      

      archive_mode=on

      यह पैरामीटर archive_command पैरामीटर का उपयोग करके वाल सेगमेंट को संग्रह स्थान पर भेजने की अनुमति देता है।

      archive_command = 'test ! -f /path/to/archivedir/%f && cp %p /path/to/archivedir/%f'

      मूल रूप से ऊपर क्या archive_command करता है, यह वाल सेगमेंट को आर्काइव डायरेक्टरी में कॉपी करता है।

      wal_senders = 5 यह वाल प्रेषक प्रक्रियाओं की अधिकतम संख्या है।

      अब प्राथमिक सर्वर को पुनरारंभ करें।

  • प्राइम सर्वर को स्लेव सर्वर पर बैकअप देना

    सर्वर पर परिवर्तन करने से पहले प्राथमिक सर्वर को रोक दें।

महत्वपूर्ण: जब तक सभी कॉन्फ़िगरेशन और बैकअप चरण पूरे नहीं हो जाते तब तक सेवा को फिर से शुरू न करें। आपको स्टैंडबाय सर्वर को उस स्थिति में लाना होगा जहां वह बैकअप सर्वर बनने के लिए तैयार है। इसका मतलब है कि सभी कॉन्फ़िगरेशन सेटिंग्स को जगह में होना चाहिए और डेटाबेस पहले से ही सिंक्रनाइज़ होना चाहिए। अन्यथा, स्ट्रीमिंग प्रतिकृति शुरू करने में विफल रहेगी

  • अब pg_basebackup उपयोगिता चलाएं

    pg_basebackup उपयोगिता प्राथमिक सर्वर डेटा निर्देशिका से डेटा दास डेटा निर्देशिका की प्रतिलिपि बनाती है।

    $ pg_basebackup -h <primary IP> -D /var/lib/postgresql/<version>/main -U replication -v -P --xlog-method=stream

    -D: This is tells pg_basebackup where to the initial backup

    -h: Specifies the system where to look for the primary server

    -xlog-method=stream: This will force the pg_basebackup to open another connection and stream enough xlog while backup is running.
                         It also ensures that fresh backup can be started without failing back to using an archive.
  • स्टैंडबाय सर्वर को कॉन्फ़िगर करना

    स्टैंडबाय सर्वर को कॉन्फ़िगर करने के लिए, आप postgresql.conf को संपादित करेंगे और एक नई कॉन्फ़िगरेशन फ़ाइल बनाएंगे, जिसका नाम रिकवरी .conf होगा।

    hot_standby = on

    यह निर्दिष्ट करता है कि क्या आपको पुनर्प्राप्त करते समय प्रश्नों को चलाने की अनुमति है

    • Recovery.conf फ़ाइल बनाना

      standby_mode = on

      कनेक्शन स्ट्रिंग को प्राथमिक सर्वर पर सेट करें। प्राथमिक सर्वर के बाहरी आईपी पते से बदलें। प्रतिकृति नाम के उपयोगकर्ता के लिए पासवर्ड के साथ बदलें

      `Primary_conninfo = 'होस्ट = पोर्ट = 5432 उपयोगकर्ता = प्रतिकृति पासवर्ड ='

      (वैकल्पिक) ट्रिगर फ़ाइल स्थान सेट करें:

      trigger_file = '/tmp/postgresql.trigger.5432'

      आपके द्वारा निर्दिष्ट trigger_file पथ वह स्थान है जहां आप एक फ़ाइल जोड़ सकते हैं जब आप चाहते हैं कि सिस्टम स्टैंडबाय सर्वर पर विफल हो जाए। फ़ाइल की उपस्थिति विफलता को "ट्रिगर" करती है। वैकल्पिक रूप से, आप विफलता को ट्रिगर करने के लिए pg_ctl को बढ़ावा देने के आदेश का उपयोग कर सकते हैं।

  • स्टैंडबाय सर्वर को प्रारंभ करें

    अब आपके पास सब कुछ है और स्टैंडबाय सर्वर को लाने के लिए तैयार हैं

आरोपण

यह आलेख काफी हद तक व्युत्पन्न है और हॉट स्टैंडबाई के साथ उच्च उपलब्धता और प्रतिकृति के लिए पोस्टग्रेसीक्यू को कैसे सेट किया जाए और स्वरूपण और उदाहरणों में मामूली बदलाव और कुछ पाठ हटा दिए गए हैं। स्रोत को क्रिएटिव कॉमन्स पब्लिक लाइसेंस 3.0 के तहत प्रकाशित किया गया था, जिसे यहां बनाए रखा गया है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow