आम तौर पर आप बैकेंड सर्वर पर Pgpool स्थापित नहीं करेंगे। आप अपने चित्र में जो देख रहे हैं वह सबसे सामान्य विन्यास है। Pgpool एक स्टैंडअलोन सर्वर है जो अनिवार्य रूप से डेटाबेस के सामने बैठता है। दो Postgres सर्वर अक्सर स्ट्रीमिंग प्रतिकृति के साथ कॉन्फ़िगर किए जाते हैं; एक मालिक और दूसरा गुलाम होने के साथ।
यह Pgpool को दो (या अधिक) डेटाबेस के बीच सभी पढ़े गए प्रश्नों को संतुलित करने की अनुमति देता है। कोई भी प्रश्न जिसमें कोई भी लिखना शामिल है, मास्टर सर्वर पर भेजा जाएगा जो बदले में दास को दोहराता है।
जैसा कि @Neil McGuigan ने कहा , बेहतर उच्च उपलब्धता प्राप्त करने के लिए आपके पास कई Pgpool सर्वर भी हो सकते हैं। तकनीकी रूप से आप इस कॉन्फ़िगरेशन में डेटाबेस सर्वर पर Pgpool स्थापित कर सकते हैं, लेकिन यह खराब अभ्यास होगा। एकाधिक Pgpool सर्वर चलाना एक बहुत अधिक जटिल कॉन्फ़िगरेशन है। यदि यह आपकी पगपूल के साथ पहली बार है, तो मैं दो काम करने से पहले एक पगपूल सर्वर के साथ शुरू करूंगा।
या तो कॉन्फ़िगरेशन में, आपके एप्लिकेशन सर्वर को लगता है कि यह सिर्फ एक पोस्टग्रैज डेटाबेस से जुड़ रहा है।
के बारे में pgpool_regclass
, जो वास्तव में एक अलग प्रश्न होना चाहिए, यह Pgpool से है :
यदि आप PostgreSQL 8.0 या बाद के संस्करण का उपयोग कर रहे हैं, तो pgpool-II द्वारा एक्सेस किए जाने वाले सभी PostgreSQL पर pgpool_regclass फ़ंक्शन स्थापित करने की दृढ़ता से अनुशंसा की जाती है, क्योंकि यह आंतरिक रूप से pgpool-II द्वारा उपयोग किया जाता है। इसके बिना, अलग-अलग स्कीमा में डुप्लिकेट टेबल नामों को संभालने से परेशानी हो सकती है (अस्थायी टेबल समस्या नहीं हैं)।
यदि आप PostgreSQL 9.4.0 या बाद के संस्करण और pgpool-II 3.3.4 या बाद के संस्करण का उपयोग कर रहे हैं, तो 3.4.0 या बाद में, आपको pgpool_regclass को स्थापित करने की आवश्यकता नहीं है क्योंकि PostgreSQL 9.4 ने फ़ंक्शन "to_regclass" जैसे pgpool_regclass में बनाया है।
यदि आपको इसकी आवश्यकता है, तो यह आपके पोस्टग्रेज मास्टर सर्वर पर एक फ़ंक्शन Pgpool उपयोगों को जोड़ने के लिए सिर्फ कुछ SQL कोड है।
रीक्लास के साथ, एक अतिरिक्त कदम है जो आपको करना है (मैं सम्मिलित_लोक के बारे में सोच रहा था)। यदि आप स्रोत से संकलित कर रहे हैं (आमतौर पर अधिकांश वितरणों में वास्तव में Pgpool के पुराने संस्करण हैं), तो आपको पोस्टग्रैज लाइब्रेरी को भी संकलित करना होगा।
यदि आप स्रोत से संकलित करते हैं, तो आपको .../pgpool-II-3.X.X/src/sql/pgpool-regclass
फ़ोल्डर में जाना होगा और ए करना होगा ./configure; make
।
पोस्टग्रेज एक्सटेंशन डायरेक्टरी में pgpool-regclass.so फाइल को कॉपी करें। मेरे उबंटू 14.04 सर्वर पर (पोस्टग्रेज 9.3 पैकेज इंस्टॉल का उपयोग करके), यह यहां स्थित है /usr/lib/postgresql/9.3/lib
:। सभी Postgres सर्वर के लिए ऐसा करना याद रखें ।
एक बार जो पूरा हो गया, तो आप pgpool-regclass.sql
गुरु पर चल सकते हैं । यह केवल pgpool_regclass
आपके द्वारा कॉपी की गई लाइब्रेरी के फ़ंक्शन को मैप करता है।