मैं थोड़ी देर के लिए Postgres 9.1 के लिए एक हॉट बैकअप पर काम कर रहा हूं और एक सुसंगत मुद्दे में चला गया हूं। पुनरारंभ करने के बाद दास सर्वर पर pgstartup लॉग फ़ाइल और pg_log निर्देशिका के तहत दैनिक लॉग फ़ाइल कोई त्रुटि के साथ पढ़ता है। हालाँकि, जब मैं psql कमांड का उपयोग करके डेटाबेस में प्रवेश करने का प्रयास करता हूं, तो मुझे त्रुटि मिलती है:
FATAL: डेटाबेस सिस्टम शुरू हो रहा है।
पुनर्प्राप्ति .conf फ़ाइल भी Recovery.done की ओर नहीं मुड़ती है। मैंने इस त्रुटि पर बड़े पैमाने पर शोध किया है और लगातार एक ही प्रतिक्रिया पा रहा हूं: इससे पहले कि मैंने पोस्टग्रेज को फिर से शुरू करने की कोशिश की, डेटाबेस को साफ-साफ बंद नहीं किया गया। मेरे द्वारा पोस्टग्रेज को फिर से शुरू करने का एकमात्र तरीका service postgresql-9.1 restart
या /etc/init.d/postgresql-9.1 restart
कमांड्स है। यह त्रुटि प्राप्त करने के बाद, मैं सभी प्रक्रियाओं को मारता हूं और फिर से डेटाबेस को पुनरारंभ करने का प्रयास करता हूं और फिर भी वही त्रुटि प्राप्त करता हूं। मुझे इस बात का नुकसान है कि यहां से कहां जाना है और इस मुद्दे को कैसे ठीक करना है। नीचे सटीक प्रक्रिया है जो मैंने हॉट बैकअप को पूरा करने के लिए की है।
मास्टर सर्वर विन्यास:
pg_hba.conf, ने रेखा जोड़ी:
होस्ट प्रतिकृति IPAddressOfSlaveServer ट्रस्ट पोस्टग्रैट्स करती है
postgresql.conf:
wal_level = hot_standby max_wal_senders = 5 सुन_दादरी = '*' port = 5432 max_wal_senders = 5 wal_keep_seolution = 32
गुलाम सर्वर विन्यास:
postgresql.conf:
hot_standby = on
recovery.conf:
स्टैंडबाय_मोड = पर Primary_conninfo = host = IPAddressOfMasterServer port = 5432 उपयोगकर्ता = पोस्टग्रेट्स पुनर्स्थापना_काँड = 'cp /var/lib/pgsql/9.1/data/pg_xlog/%f "% p"'
दोनों सर्वरों को कॉन्फ़िगर करने के बाद
मैं मास्टर सर्वर पर उपयोगकर्ता को पोस्टग्रेज करता हूं और कमांड चलाता हूं:
psql -c "pg_start_backup ('लेबल', सही) का चयन करें;"; rsync -a -v -e ssh /var/lib/pgsql/9.1/data दास: /var/lib/pgsql/9.1/data \ --exclude postmaster.pid pgsql -c "pg_stop_backup ();" चुनें;
गुलाम सर्वर के साथ डेटाबेस सिंक करने के बाद
मैं दास सर्वर को पुनरारंभ करता हूं और स्टार्ट अप विफल नहीं होता है। Pgstartup.log पढ़ता है:
सफलता। अब आप डेटाबेस सर्वर का उपयोग शुरू कर सकते हैं: /usr/pgsql-9.1/bin/postgres -D /var/lib/pgsql/9.1/data या /usr/pgsql/9.1/bin/pg_ctl -D /var/lib/pgsql/9.1/data -l logfile प्रारंभ
वर्तमान दिन लॉग फ़ाइल, postgresql-Thu.log, पढ़ता है:
लॉग: शट डाउन करना लॉग: डेटाबेस सिस्टम बंद है लॉग: 2012-4-10 में पुनर्प्राप्ति में डेटाबेस सिस्टम बंद हो गया था लॉग: स्टैंडबाय मोड में प्रवेश करना लॉग: संग्रह से लॉग फ़ाइल "logFileName" को पुनर्स्थापित किया लॉग: लगातार रिकवरी स्टेट 0 / BF0000B0 पर पहुंचा लॉग: redo 0 / BF000020 से शुरू होता है लॉग: संग्रह से लॉग फ़ाइल "logFileName" को पुनर्स्थापित किया लॉग करें: लॉग फ़ाइल 0, सेगमेंट 192, ऑफ़सेट 0 में अप्रत्याशित पगड्रे 0/85000000 लॉग करें: लॉग फ़ाइल 0, सेगमेंट 192, ऑफ़सेट 0 में अप्रत्याशित पगड्रे 0/85000000 लॉग: स्ट्रीमिंग प्रतिकृति सफलतापूर्वक प्राथमिक से जुड़ी
मैंने अप्रत्याशित पगडंड पर शोध किया और पोस्ट आर्काइव्स से, यह मेरी समझ है कि यह काफी सामान्य है और एंड-ऑफ-वाल का पता लगाने के लिए अपेक्षित तरीकों में से एक है।
किसी भी सलाह की काफी सराहना की जाएगी।