0

每当我尝试从 Heroku 应用程序 Node.js 连接 Postgres 数据库时,我都会收到 H12“请求超时”错误。我认为是因为没有将响应发送到前端,在使用没有 db.query 方法的函数确认后。它工作正常。现在,每当我们尝试使用 db.query 时,流程都会终止。我是 Heroku 和 Postgres 数据库的新手。帮我解决这个问题

    var pgp = require("./pgpromise.js");
var cn = {
  host: "xxxx", // 'localhost' is the default;
  port: 5432, // 5432 is the default;
  database: "xxx",
  user: "xxx",
  password: "xxx",
};
var db = pgp(cn); // database instance;
module.exports = db;



app.post("/getaccount", async (req,res) =>{
  var query = "select * from table_name";
  await db.query(query, true)
      .then(function (data) {
        return res.json(data);
      })
      .catch(function (err) {
        console.log("ERROR:", err); // print the error;
        return res.status(400).json({ success: false, error: err });
      })
  });

4

1 回答 1

0

I had the same issue, I resolved this specifying the engine version in the package.json before deploy in heroku. something like that:

...
    "engines": {
        "node": "12.18.3"
      }
....
于 2021-02-10T14:13:52.483 回答