我可以从 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
})
没有错误,没有异常,数据库服务器没有响应!
为什么服务器没有响应?
最佳答案
我怀疑你有同样的问题,就像这个 other post .由于它不是 100% 重复,我将再次发布:
有一个known issue在 pg 模块和 NodeJS 14 中。
建议的解决方案是确保您拥有 pg>=8.0.3
安装。
这可以通过更新 pg
来完成。在依赖项中。
还要确保任何其他依赖于 pg
的库模块,也是最新的并且具有最新的pg
版本。
如果由于任何原因无法做到这一点 - 使用 Node 12 也应该可以。
关于node.js - Postgres 服务器没有响应 nodejs 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61611039/