Node.js 在nodejs中连接heroku postgres db时出错
似乎在我的数据库升级到10.2之后,我无法连接 我正在使用pg 7.4.2 npm包 需要说明的是,我已经使用附加了?ssl=true的相同连接字符串连接了6个月,没有任何问题 通过池或客户端连接时出现此错误Node.js 在nodejs中连接heroku postgres db时出错,node.js,postgresql,express,heroku,psql,Node.js,Postgresql,Express,Heroku,Psql,似乎在我的数据库升级到10.2之后,我无法连接 我正在使用pg 7.4.2 npm包 需要说明的是,我已经使用附加了?ssl=true的相同连接字符串连接了6个月,没有任何问题 通过池或客户端连接时出现此错误 AssertionError [ERR_ASSERTION]: false == true at Object.exports.connect (_tls_wrap.js:1099:3) at Socket.<anonymous> (/home/e/expres
AssertionError [ERR_ASSERTION]: false == true
at Object.exports.connect (_tls_wrap.js:1099:3)
at Socket.<anonymous> (/home/e/express/testpg/node_modules/pg/lib/connection.js:94:23)
at Object.onceWrapper (events.js:219:13)
at Socket.emit (events.js:127:13)
at Socket.emit (domain.js:421:20)
at addChunk (_stream_readable.js:269:12)
at readableAddChunk (_stream_readable.js:256:11)
at Socket.Readable.push (_stream_readable.js:213:10)
at TCP.onread (net.js:598:20)
方法1:
let pool = new Pool({
connectionString: csnew,
ssl: true
})
pool.connect().then( client => {
console.log('connected')
})
.catch(e=> {
console.log(e)
})
方法2:
let pgclient = new Client({
connectionString: csnew,
ssl: true
})
pgclient.connect().then( () => {
console.log('connected')
}).catch(e=> {
console.log(e)
})
这是因为v7.4.2破坏了其SSL支持 在问题解决之前,您需要严格使用v7.4.1 更新
版本7.4.3解决了这个问题。由于@vitaly,我们可以将其降级到7.4.1-t@647er可能您必须在包中目标版本之前删除
^
。json@647er您将其作为“^7.0.0”包含,或者未正确重新安装。该问题在v7.4.2之前不存在
let pgclient = new Client({
connectionString: csnew,
ssl: true
})
pgclient.connect().then( () => {
console.log('connected')
}).catch(e=> {
console.log(e)
})