簡體   English   中英

Node.JS Heroku Postgres 連接不工作

[英]Node.JS Heroku Postgres Connection not working

我正在嘗試在本地實例中通過 Node.js 連接到我使用 Heroku 創建的 PostgreSQL 服務器。 我遇到的問題是連接永遠不會建立,我無法理解為什么,因為沒有錯誤 output。 以下是我的代碼片段:

async function main(){

const { Pool } = require('pg');
const pool = new Pool({
    connectionString: "postgres://very_long_url_here" || process.env.DATABASE_URL,
    ssl: {
        rejectUnathorized: false
    }
});

const client = await pool.connect();
console.log('connection established.');
const currentRecord = await client.query(`SELECT * FROM test_table WHERE email='me@aol.com'`);
console.log(currentRecord);
console.log('records pulled');
}
main();

當我通過命令行運行此腳本時,沒有打印任何 console.log() 命令,但我也沒有收到任何錯誤,盡管連接顯然沒有發生。 我通過 heroku CLI 運行heroku pg:credentials:url DATABASE獲得了 postgres 數據庫的連接字符串。 對節點、heroku 和堆棧社區非常陌生 - 感謝您提供的任何反饋!

我遇到了一個非常相似的問題。 事實證明,我沒有凍結 package.json 中的節點版本,所以問題和本地/部署行為是由運行具有 2 個不同節點版本的代碼引起的。 在本地,我在節點 v10 中運行,而在 heroku 中它在 v14 中運行。 因此,在 package.json 中執行此操作解決了該問題:

“引擎”:{“節點”:“12.x”},

顯然,它不適用於 v14,但中間 LTS 版本 (12) 似乎可以正常工作。 做了一些研究,似乎 v14 和 pg Node 14.0.0 存在/已經存在一些問題 - pg 沒有響應 #2180

最后一個答案對我有用,謝謝

在packages.json只放這個;

“引擎”:{“節點”:“12.x”}

暫無
暫無

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

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