簡體   English   中英

在nodejs中連接到heroku postgres db時出錯

[英]Error connecting to heroku postgres db in nodejs

似乎我的數據庫升級到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/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)

我現在正在硬編碼完整的postgres連接字符串,因此env變量沒有問題。

我嘗試在連接字符串的末尾添加/刪除?ssl = true,並從構造函數中添加/刪除ssl:true。 我也嘗試過無論有沒有承諾。 同樣的錯誤無論是本地還是部署到heroku。

進口:

import { Pool, Client } from 'pg'

方法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。

UPDATE

版本7.4.3修復了該問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM