मैं पोस्टग्रेस 9.1 के साथ तुल्यकालिक प्रतिकृति स्थापित करने की कोशिश कर रहा हूं, लेकिन मैं इसे काम नहीं कर सकता। मैं स्ट्रीमिंग प्रतिकृति को कॉन्फ़िगर करने में सक्षम था, लेकिन तुल्यकालिक नहीं। मुझे उम्मीद है कि मैंने कुछ भी स्पष्ट नहीं किया है। मैंने प्रशासन गाइड में 17, 18, 14, 25, 26 और 2 9 के सावधानी से कई अनुभाग पढ़े हैं।पोस्टग्रेज़ में सिंक्रोनस स्ट्रीमिंग प्रतिकृति कैसे सेट करें?
मैं Ubuntu 12.04 और मेरे मालिक postgresql.conf चला रहा हूँ अन्य सभी मानक सेटिंग के बीच इन, है:
listen_addresses = '*' # what IP address(es) to listen on;
wal_level = archive # minimal, archive, or hot_standby
archive_mode = on # allows archiving to be done
archive_command = 'test ! -f /data/pgWalArchive/%f && cp %p /data/pgWalArchive/%f'
wal_keep_segments = 100 # in logfile segments, 16MB each; 0 disables ??? What should this be ????
max_wal_senders = 3 # max number of walsender processes
मेरे pg_hba.conf मानक सामान के अलावा इस किया है,:
host all all XX.6.35.0/24 md5
host replication postgres XX.6.35.0/24 md5
मेरे मास्टर डीबी में सिर्फ एक अनुक्रम है, इसलिए यह छोटा है। मैं सफलतापूर्वक प्राथमिक में मास्टर की एक बैकअप बनाया है और वह बहाल:
sudo -u postgres pg_basebackup -D ~/backup -F tar -x -z -l ~/backup/base1 -v -h XX.6.35.51 -U postgres
मैं भी अतिरिक्त करने के लिए वाल संग्रह फ़ाइलों की नकल की। मेरी स्टैंडबाय recovery.conf फ़ाइल में यह है:
restore_command = '/usr/lib/postgresql/9.1/bin/pg_standby /data/pgWalArchive %f %p %r'
archive_cleanup_command = '/usr/lib/postgresql/9.1/bin/pg_archivecleanup /data/pgWalArchive %r'
standby_mode = on
primary_conninfo = 'host=XX.6.35.51 port=5432' # e.g. 'host=masterIpAddressOrName port=5432'
दोनों सर्वर कोई समस्या नहीं शुरू करते हैं और लॉग ठीक लगते हैं। मेरे स्टैंडबाय में यह है:
2012-06-08 10:23:51 MDT LOG: shutting down
2012-06-08 10:23:51 MDT LOG: database system is shut down
2012-06-08 10:23:53 MDT LOG: database system was shut down in recovery at 2012-06-08 10:23:51 MDT
2012-06-08 10:23:53 MDT LOG: entering standby mode
2012-06-08 10:23:53 MDT LOG: consistent recovery state reached at 0/1D000078
2012-06-08 10:23:53 MDT LOG: record with zero length at 0/1D000078
2012-06-08 10:23:53 MDT LOG: streaming replication successfully connected to primary
2012-06-08 10:23:53 MDT LOG: incomplete startup packet
2012-06-08 10:23:54 MDT FATAL: the database system is starting up
2012-06-08 10:23:54 MDT FATAL: the database system is starting up
2012-06-08 10:23:55 MDT FATAL: the database system is starting up
2012-06-08 10:23:55 MDT FATAL: the database system is starting up
2012-06-08 10:23:56 MDT FATAL: the database system is starting up
2012-06-08 10:23:56 MDT FATAL: the database system is starting up
2012-06-08 10:23:57 MDT FATAL: the database system is starting up
2012-06-08 10:23:57 MDT FATAL: the database system is starting up
2012-06-08 10:23:58 MDT FATAL: the database system is starting up
2012-06-08 10:23:58 MDT FATAL: the database system is starting up
2012-06-08 10:23:59 MDT FATAL: the database system is starting up
2012-06-08 10:23:59 MDT LOG: incomplete startup packet
2012-06-08 10:24:40 MDT LOG: redo starts at 0/1D000078
समस्या यह है कि जब मैं मास्टर के खिलाफ बयान जारी करता हूं, तो वे हमेशा के लिए लटकाते हैं। क्या मैं कुछ भूल रहा हूँ?
हां, ज़ाहिर है। मैंने इन पंक्तियों को याद किया जो मेरे पास कॉन्फ़िगरेशन में हैं। Postgresql.sql के लिए मेरे पास यह है:। मैंने कोई भाग्य के साथ आईपी पता भी लगाया था। स्टैंडबाय पर, मेरे पास –