Postgres 服务器没有响应 nodejs 请求

Postgres server is not responding to a nodejs request

我可以从 pgAdmin4 访问远程 postgres 数据库,我也可以使用 Mac 从 nodejs 访问。现在我正在使用相同的代码访问 Windows 中的数据库。我的连接代码如下:

const { Client } = require('pg'); //Importing the Postgres package
const hosts= require('../hosts'); //Using the file containig all hosts 
const connectionData = { //Begin creating the connection settings object
   host: hosts.DBHost, //DB host   
   port: hosts.DBPort, //DB hosts port
   database: hosts.DB, //DB
   user: hosts.DBUser, //DB user
   password: hosts.DBPassword, //DB user password
 } 

我的测试如下:

var client = new Client(connectionData); //New client instance using the above connection settings
client.connect(); //Open the connection to the database()  
sql = "select * from myTable";
client.query(sql) 
  .then(response => {
    console.log ({"data": response}); //This isn't shown 
  })
  .catch(err => { 
    console.log({"error": err}); //This isn't shown neither 
  })

没有错误,没有异常,数据库服务器没有响应!

为什么服务器没有响应?

我怀疑您遇到与此相同的问题。由于它不是 100% 重复的,因此我将再次 post:

pg模块和NodeJS 14中有known issue

建议的解决方案是确保您已安装 pg>=8.0.3

这可以通过更新依赖项中的 pg 来完成。

还要确保依赖 pg 模块的任何其他库也是最新的并且具有最新的 pg 版本。

如果出于任何原因无法做到这一点 - 使用 Node 12 也应该可行。