आप इसे अपने पायथन . में आयात नहीं करते हैं कार्यक्रम। .pgpass
. का बिंदु यह है कि यह एक नियमित फ़ाइल है जो सिस्टम की फ़ाइल अनुमतियों के अधीन है, और libpq ड्राइवर जो लाइब्रेरी जैसे psycopg2 पोस्टग्रेज . से कनेक्ट करने के लिए उपयोग करें पासवर्ड के स्रोत कोड में होने या इसके लिए संकेत देने के बजाय पासवर्ड के लिए इस फ़ाइल को देखेगा।
साथ ही, यह सर्वर-साइड फ़ाइल नहीं है, बल्कि क्लाइंट-साइड फ़ाइल है। तो, *nix बॉक्स पर, आपके पास एक ~/.pgpass
. होगा फ़ाइल जिसमें विभिन्न कनेक्शनों के लिए क्रेडेंशियल हैं जिन्हें आप बनाना चाहते हैं।
ओपी की टिप्पणी के जवाब में संपादित करें:
psycopg2 . के लिए दो मुख्य बातें होनी चाहिए .pgpass
. के माध्यम से सही ढंग से प्रमाणित करने के लिए :
- नहीं नहीं
psycopg2.connect
. को पास की गई स्ट्रिंग में पासवर्ड निर्दिष्ट करें - सुनिश्चित करें कि
.pgpass
में सही प्रविष्टि जोड़ी गई है उस उपयोगकर्ता के लिए फ़ाइल जो psycopg2 . के माध्यम से कनेक्ट होगा ।
उदाहरण के लिए, लोकलहोस्ट . पर किसी विशेष उपयोगकर्ता के लिए सभी डेटाबेस के लिए यह काम करने के लिए पोर्ट 5432 , आप उस उपयोगकर्ता के .pgpass
. में निम्न पंक्ति जोड़ेंगे फ़ाइल:
localhost:5432:*:<username>:<password>
और फिर connect
कॉल इस फॉर्म का होगा:
conn = psycopg2.connect("host=localhost dbname=<dbname> user=<username>")
अंतर्निहित libpq ड्राइवर कि psycopg2 उपयोग तब .pgpass
. का उपयोग करेगा पासवर्ड प्राप्त करने के लिए फाइल करें।