PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

एक्सटेंशन को स्थानांतरित करने योग्य नहीं कैसे बनाया जाए?

सबसे पहले, आपको relocatable को बदलना होगा करने के लिए false एक्सटेंशन की नियंत्रण फ़ाइल में।

इसके अलावा, आपको जो सिफारिश मिली है वह आंशिक रूप से उचित और आंशिक रूप से बकवास है।

आपको अपने कार्यों को इस तरह परिभाषित करना चाहिए:

CREATE FUNCTION .... AS
$$ /* function body */ $$
SET search_path = @[email protected];

फिर search_path pg_catalog . पर स्थिर है , pg_temp और फ़ंक्शन कॉल की अवधि के लिए आपका एक्सटेंशन स्कीमा। इसका मतलब है कि स्पष्ट स्कीमा के बिना ऑब्जेक्ट तक सभी पहुंच केवल इन स्कीमा में ही खोजी जाएगी।

फिर आपको @[email protected] के साथ फंक्शन में हर चीज को स्पष्ट रूप से क्वालिफाई करने के बारे में चिंता करने की जरूरत नहीं है। , और आप बिना किसी चिंता के ऑपरेटरों का उपयोग कर सकते हैं, क्योंकि search_path ऑपरेटरों पर भी लागू होता है। (आप स्कीमा-योग्य ऑपरेटर भी कर सकते हैं:OPERATOR(schema.+) , लेकिन यह स्पष्ट रूप से दर्दनाक है और पठनीयता को हानि पहुँचाता है।)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक तालिकाओं में खोजें और परिणामी पंक्तियों में तालिका का नाम भी प्रदर्शित करें

  2. पोस्टग्रेज कॉलम X मौजूद नहीं है

  3. Postgresql से MySQL में प्रश्नों पर चयन DISTINCT परिवर्तित करना

  4. pg_restore विकल्प - PostgreSQL बैकअप और ClusterControl के साथ स्वचालित पुनर्प्राप्ति

  5. PostgreSQL नेस्टेड JSON क्वेरी