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

पोस्टग्रेएसक्यूएल पीएल/पायथन:वर्चुअलएन्व में संग्रहीत प्रक्रिया को कॉल करें

ऐसा करने का एक तरीका है, जैसा कि यह निकला। संस्करण 1.6 या उसके बाद से, virtualenv एक स्क्रिप्ट के साथ आता है activate_this.py , जिसका उपयोग उस विशेष वर्चुअलएन्व तक पहुंचने के लिए मौजूदा दुभाषिया स्थापित करने के लिए किया जा सकता है।

exec(open('/Some/VirtualEnv/Directory/myvirtualenv/bin/activate_this.py').read(), 
dict(__file__='/Some/VirtualEnv/Directory/myvirtualenv/bin/activate_this.py'))

और पूरी तरह से महसूस किए गए प्लापीथॉन फ़ंक्शन के रूप में:

CREATE OR REPLACE FUNCTION workon(venv text)
  RETURNS void AS
$BODY$
    import os
    import sys

    if sys.platform in ('win32', 'win64', 'cygwin'):
        activate_this = os.path.join(venv, 'Scripts', 'activate_this.py')
    else:
        if not os.environ.has_key('PATH'):
            import subprocess
            p=subprocess.Popen('echo -n $PATH', stdout=subprocess.PIPE, shell=True)
            (mypath,err) = p.communicate()
            os.environ['PATH'] = mypath

        activate_this = os.path.join(venv, 'bin', 'activate_this.py')

    exec(open(activate_this).read(), dict(__file__=activate_this))
$BODY$
LANGUAGE plpythonu VOLATILE

(अतिरिक्त PATH मुंगरी की आवश्यकता है क्योंकि डिफ़ॉल्ट रूप से PATH plpython में उपलब्ध नहीं है os.environ -active_this.py में एक चेक इन ठीक करें जो अगले बिंदु रिलीज (जो 1.11.7 या 1.12 होना चाहिए) के साथ रोल करना चाहिए

(ज्यादातर https://gist.github.com/dmckeone/69334e2d8b27f586414a से लिया गया है )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS Amazon Linux (EC2) AMI पर PostgreSQL क्लाइंट v10 स्थापित करना

  2. कुबेरनेट्स टाइमस्केलडब स्टेटफुलसेट:पॉड रिक्रिएशन में खोए हुए परिवर्तन

  3. स्प्रिंग बूट 2 में, क्या एक अद्वितीय बाधा के साथ जॉइनटेबल को स्वतः उत्पन्न करना संभव है?

  4. क्या हम तैयार कथन (PostgreSQL) में DDL कमांड का उपयोग कर सकते हैं?

  5. PostgreSQL सेवा को रोकने/शुरू/पुनरारंभ करने में असमर्थ