मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जिसे एकाधिक स्कीमा पर hstore
का उपयोग करने की आवश्यकता है। 'सार्वजनिक' स्कीमा, जहां hstore
एक्सटेंशन इंस्टॉल किया जा रहा था, हर जगह उपलब्ध नहीं है, क्योंकि मेरा दायरा 'सार्वजनिक' पर नहीं दिखता है। कुछ प्रयासों पर, मैंने 'hstore' नामक एक स्कीमा पर एक्सटेंशन बनाया है और इस्तेमाल किए गए प्रत्येक उपलब्ध स्कोप (खोज पथ) पर स्कीमा का उपयोग किया है।पोस्टग्रेज़ डेटाबेस में एकाधिक स्कीमा पर hstore स्थापित करने का सबसे अच्छा तरीका?
इस आधार पर, मैं कुछ सवाल है:
यह सिर्फ विस्तार के लिए एक स्कीमा बनाने के लिए ठीक है? या क्या प्रत्येक स्कीमा पर विस्तार करना बेहतर है (जैसे,
customer_1
,customer_2
, और इसी तरह ...)?क्या एक अलग स्कीमा में एक्सटेंशन का निर्माण प्रभावित होता है जहां डेटा संग्रहीत किया जाता है? मैं बैकअप/पुनर्स्थापित करना आसान बनाने के लिए कई स्कीमा का उपयोग कर रहा हूं, और वास्तव में एक स्कीमा पर एक छिपी हुई तालिका (
pg_large_objects
ब्लॉब्स के लिए) में मेरे सभीhstore
डेटा को स्टोर करने के लिए पीजी नहीं चाहता हूं।
'एक्सटेंशन पर विस्तार hstore स्थापित करने के लिए 'स्कीमा को search_path में जोड़ा जाना चाहिए, सही? – Qcom
@Qcom: सही। और search_path में स्कीमा का अनुक्रम भी प्रासंगिक है। * या * आपको उन सभी ऑब्जेक्ट्स को स्कीमा-अर्हता प्राप्त करना है जिन्हें आप संदर्भित करना चाहते हैं - ऑपरेटरों सहित! विवरण: http://stackoverflow.com/questions/22975599/how-to-use-operator-from-the-extension-pg-trgm/22975642#22975642 –
क्या समर्पित में एक्सटेंशन इंस्टॉल करने में स्पष्टता के अलावा कोई स्पष्ट लाभ है जनता का उपयोग करने के बजाय स्कीमा? – Qcom