पोस्टग्रेज पर, तीन डेटाबेस सामान्य रूप से डिफ़ॉल्ट रूप से मौजूद होते हैं। यदि आप एक सुपरयूज़र (जैसे, postgres
भूमिका) के रूप में कनेक्ट करने में सक्षम हैं , तो आप postgres
या template1
डेटाबेस से कनेक्ट कर सकते हैं । डिफ़ॉल्ट pg_hba.conf केवल यूनिक्स उपयोगकर्ता postgres
को postgres
भूमिका का उपयोग करने के लिए नामित करता है , इसलिए सबसे सरल बात यह है कि वह उपयोगकर्ता बन जाए। किसी भी दर पर, एक उपयोगकर्ता की तरह एक इंजन बनाएं जिसमें डेटाबेस बनाने की अनुमति हो:
>>> engine = sqlalchemy.create_engine("postgres://postgres@/postgres")
engine.execute()
हालाँकि आप इसका उपयोग नहीं कर सकते , क्योंकि पोस्टग्रेज आपको लेन-देन के अंदर डेटाबेस बनाने की अनुमति नहीं देता है, और sqlalchemy हमेशा लेनदेन में प्रश्नों को चलाने की कोशिश करता है। इसके आसपास जाने के लिए, इंजन से अंतर्निहित कनेक्शन प्राप्त करें:
>>> conn = engine.connect()
लेकिन कनेक्शन अभी भी एक लेनदेन के अंदर होगा, इसलिए आपको खुले लेनदेन को समाप्त करना होगा commit
:
>>> conn.execute("commit")
और फिर आप इसके लिए उचित PostgreSQL कमांड का उपयोग करके डेटाबेस बनाने के लिए आगे बढ़ सकते हैं।
>>> conn.execute("create database test")
>>> conn.close()