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

अजगर libpq-pgpass . के साथ postgresql से जुड़ता है

आप इसे अपने पायथन . में आयात नहीं करते हैं कार्यक्रम। .pgpass . का बिंदु यह है कि यह एक नियमित फ़ाइल है जो सिस्टम की फ़ाइल अनुमतियों के अधीन है, और libpq ड्राइवर जो लाइब्रेरी जैसे psycopg2 पोस्टग्रेज . से कनेक्ट करने के लिए उपयोग करें पासवर्ड के स्रोत कोड में होने या इसके लिए संकेत देने के बजाय पासवर्ड के लिए इस फ़ाइल को देखेगा।

साथ ही, यह सर्वर-साइड फ़ाइल नहीं है, बल्कि क्लाइंट-साइड फ़ाइल है। तो, *nix बॉक्स पर, आपके पास एक ~/.pgpass . होगा फ़ाइल जिसमें विभिन्न कनेक्शनों के लिए क्रेडेंशियल हैं जिन्हें आप बनाना चाहते हैं।

ओपी की टिप्पणी के जवाब में संपादित करें:

psycopg2 . के लिए दो मुख्य बातें होनी चाहिए .pgpass . के माध्यम से सही ढंग से प्रमाणित करने के लिए :

  1. नहीं नहीं psycopg2.connect . को पास की गई स्ट्रिंग में पासवर्ड निर्दिष्ट करें
  2. सुनिश्चित करें कि .pgpass में सही प्रविष्टि जोड़ी गई है उस उपयोगकर्ता के लिए फ़ाइल जो psycopg2 . के माध्यम से कनेक्ट होगा ।

उदाहरण के लिए, लोकलहोस्ट . पर किसी विशेष उपयोगकर्ता के लिए सभी डेटाबेस के लिए यह काम करने के लिए पोर्ट 5432 , आप उस उपयोगकर्ता के .pgpass . में निम्न पंक्ति जोड़ेंगे फ़ाइल:

localhost:5432:*:<username>:<password>

और फिर connect कॉल इस फॉर्म का होगा:

conn = psycopg2.connect("host=localhost dbname=<dbname> user=<username>")

अंतर्निहित libpq ड्राइवर कि psycopg2 उपयोग तब .pgpass . का उपयोग करेगा पासवर्ड प्राप्त करने के लिए फाइल करें।



  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. एसक्यूएल कॉलम के रूप में पंक्तियों को स्थानांतरित करें

  3. पोस्टग्रेज़ की बाधा यह सुनिश्चित करती है कि कई का एक कॉलम मौजूद है?

  4. कुप्पी-SQLAlchemy लोअर केस इंडेक्स - कार्यात्मक लंघन, SQLAlchemy प्रतिबिंब द्वारा समर्थित नहीं है

  5. विशिष्टता को लागू करने के लिए एक बहु-स्तंभ अनुक्रमणिका बनाएं