2011-06-23 10 views

उत्तर

6

लघु जवाब: हां

लांग जवाब:

आप अपने ओएस निर्दिष्ट नहीं किया है, तो यह कैसे करना है कहना मुश्किल है। उदाहरण के लिए डेबियन/उबंटू में आप पैकेज से दूसरे संस्करण को स्थापित कर सकते हैं (postgresql-8.4 और postgresql-9.0) और सब कुछ बॉक्स से बाहर काम करता है (postgresql-common के लिए धन्यवाद)। अन्य प्रणालियों पर आपको शायद "निम्न स्तर" कमांड जैसे initdb और pg_ctl का उपयोग करके इसे मैन्युअल रूप से करने की आवश्यकता है। सुनिश्चित करें कि दूसरी स्थापना (डेटाबेस क्लस्टर) विभिन्न पोर्ट का उपयोग करता है (उदाहरण के लिए 5433) और समान डेटा निर्देशिका नहीं।

+0

क्या ऐसा करने का कोई तरीका है और एक ही डेटा निर्देशिका का उपयोग करें? – sudo

0

हाँ, तो आप सिर्फ डेटा डायरेक्टरी विभिन्न स्थानों में डाल दिया धन्यवाद।

0

हाँ आप कर सकते हैं। आपको उन्हें विभिन्न बंदरगाहों पर चलाने और विभिन्न डेटा निर्देशिकाओं का उपयोग करने की आवश्यकता होगी।

पोर्ट और डेटा निर्देशिका दोनों को postgresql.conf में सेट किया जा सकता है।

मुझे पीजीडीएटीए पर्यावरण चर का उपयोग करने सहित डेटा निर्देशिका निर्दिष्ट करने के कई अन्य तरीकों पर विश्वास है।

2

हां, बशर्ते निम्नलिखित तीन पूर्व शर्त संतुष्ट हैं:

  1. PostgreSQL एक अद्वितीय आईपी/पोर्ट पर ध्यान दे रहा है (pgbouncer की जाँच और आप शायद एक ही आईपी/पोर्ट के पीछे PostgreSQL की दोनों प्रतियों को छिपाने और कम कर सकते हैं सक्रिय कनेक्शन की संख्या को कम करके आपकी मेमोरी पदचिह्न)
  2. आपके पास पर्याप्त SYSV साझा मेमोरी उपलब्ध है (यह अक्सर सीमित कारक है)
  3. आप विभिन्न PGDATA निर्देशिकाओं का उपयोग करते हैं।

मैं pgbouncer का उपयोग करने की अनुशंसा नहीं कर सकता।

+2

SYSV साझा स्मृति वास्तव में एक सीमित कारक नहीं है, आपको केवल यह सुनिश्चित करने की आवश्यकता है कि आप प्रासंगिक कर्नेल पैरामीटर (मुख्य रूप से SHMMAX) को अपने छोटे डिफ़ॉल्ट से अधिक उचित मानों में अपडेट करें। –

+0

बिल्कुल! हालांकि यह मेरा अनुभव रहा है कि डरावनी प्रणाली प्रशासकों के पास कई टीएलए, विशेष रूप से 'शम *', 'आईपीसी *' और 'sysv *' के आसपास निचोड़ने की प्रवृत्ति है। : ~] उत्कृष्टता के लिए भुगतान करने के लिए एक छोटी सी कीमत। – Sean

2

विंडोज़ पर आपको कुछ भी करने की आवश्यकता नहीं है क्योंकि इंस्टॉलर स्वचालित रूप से अद्वितीय डेटा निर्देशिका बनाता है और मौजूदा स्थापना का पता लगाता है और बंदरगाहों को स्वचालित रूप से समायोजित करता है।

उदाहरण के लिए - आपकी पहली स्थापना 5432 पर सुन जाएगी और आपकी दूसरी स्थापना 5433 पर सुन जाएगी, क्योंकि इंस्टॉलर आपके लिए यह कॉन्फ़िगर करता है।

1

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

डेबियन लिनक्स पर दो संस्करण एक बार में बहुत आसान है। मेरा मानना ​​है कि यह विंडोज पर भी सरल है, लेकिन यह इस बात पर निर्भर हो सकता है कि आप किस इंस्टॉलर का उपयोग कर रहे हैं।

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

संबंधित मुद्दे