ठीक है मैं अंत में यह पता लगाने में सक्षम था। मुझे लगता है कि यह मुद्दा बहुस्तरीय था और मेरे स्थानीय विकासशील परिवेश के लिए dotenv से अपरिचित था।
मैं इसे इस तरह से अपने कोड के साथ काम करने में सक्षम था। इसने fs.readFileSync() के साथ भी काम किया लेकिन मैं इसे अपने स्रोत नियंत्रण के लिए प्रतिबद्ध नहीं करना चाहता था।
const { Pool } = require('pg')
const fs = require('fs')
const pgPool = new Pool({
user: process.env.PGUSER,
password: process.env.PGPASSWORD,
host: process.env.PGHOST,
database: process.env.PGDATABASE,
port: process.env.PGPORT,
ssl: {
rejectUnauthorized: true,
// ca: fs.readFileSync(
// `${process.cwd()}/cert/ca-certificate.crt`.toString()
// ),
ca: process.env.CA_CERT,
},
})
.on('connect', () => {
console.log('connected to the database!')
})
.on('error', (err) => {
console.log('error connecting to database ', err)
})
अब मेरे config.env में मुझे इसे इस तरह दिखाना था:
CA_CERT="-----BEGIN CERTIFICATE-----\nVALUES HERE WITH NO SPACES AND A \n
AFTER EACH LINE\n-----END CERTIFICATE-----"
मुझे इसे काम करने के लिए इसे सिंगल लाइन स्ट्रिंग के रूप में रखना था। लेकिन मुझे अंततः
. से जुड़ना था{rejectUnauthorized:true}
डिजिटल ओशन ऐप प्लेटफ़ॉर्म एनवायरनमेंट वैरिएबल के लिए, मैंने डबल कोट्स सहित सब कुछ कॉपी किया और उसमें पेस्ट किया। बहुत अच्छा काम करने लगता है। मुझे नहीं लगता कि आप इस सेटिंग को उनके $7 विकास डेटाबेस के साथ सही पर सेट करने में सक्षम होंगे। किसी भी सीए प्रमाणपत्र को डाउनलोड करने के लिए खोजने के लिए मुझे प्रबंधित एक में अपग्रेड करना पड़ा।