Pg
मणि libpq
का उपयोग करता है आंतरिक रूप से, वही क्लाइंट लाइब्रेरी जैसे PostgreSQL टूल psql
।
डिफ़ॉल्ट रूप से libpq
~/.postgresql/
में दिखता है सीए प्रमाणपत्र के लिए।
मैनुअल से :
... और ...
AFAIK रेल आपके द्वारा अपने database.yml
. में डाली गई किसी भी चीज़ को पास कर देती है करने के लिए Pg
मणि, जो इसे libpq
. पर भेजता है एक कनेक्शन पैरामीटर के रूप में। इसलिए आपको अपने database.yml
. में कुंजी/मान प्रविष्टियां जोड़ने में सक्षम होना चाहिए श्लोक जैसे:
sslmode: verify-full
# and if you don't want to use ~/.postgresq/root.crt for the cert location, set:
sslrootcert: /path/to/my/app/root/cert.crt
IMO को libpq
. के लिए एकल रूट प्रमाणपत्र पास करने की आवश्यकता है एक डिजाइन दोष है। इसे एक विश्वसनीय प्रमाणपत्र डेटाबेस लोड करना चाहिए। एसएसएल क्लाइंट प्रमाणपत्रों के उपयोग के लिए इसी तरह की समस्याएं मौजूद हैं, जहां आप कीस्टोर और सर्टिफिकेट स्टोर की आपूर्ति नहीं कर सकते हैं, आपको किसी दिए गए होस्ट के लिए विशिष्ट फाइलें पास करनी होंगी। ऐसा लगता है कि शायद यह आपके लिए ठीक है क्योंकि आप अपस्ट्रीम प्रमाणपत्र हस्ताक्षर करने वाले प्राधिकरण को जानते हैं।