[英]Knex Heroku server connection issues to postgres db - Node.js
[英]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.