Node.js未通过pg连接到Postgres服务器
我有一个运行node.js代码的远程服务器和一个postgres服务器。 当我从本地计算机连接到postgres服务器时,它与CLI以及节点代码一起工作。但是,当我将相同的代码推送到服务器时,它会一直超时,并且不会连接到postgres服务器。下面是代码片段Node.js未通过pg连接到Postgres服务器,node.js,postgresql,Node.js,Postgresql,我有一个运行node.js代码的远程服务器和一个postgres服务器。 当我从本地计算机连接到postgres服务器时,它与CLI以及节点代码一起工作。但是,当我将相同的代码推送到服务器时,它会一直超时,并且不会连接到postgres服务器。下面是代码片段 const { Pool } = require("pg"); const conn = { user: process.env.DB_USER, host: process.env.DB_HOST, dat
const { Pool } = require("pg");
const conn = {
user: process.env.DB_USER,
host: process.env.DB_HOST,
database: process.env.DB_NAME,
password: process.env.DB_PASSWORD,
connectionTimeoutMillis: 5000,
port: parseInt(process.env.DB_PORT),
};
console.log(conn);
const pool = new Pool(conn);
app.post(
"/api/v1/data/sync",
asyncHandler(async (req, res) => {
const { data } = req.body;
try {
const tasks = [];
for (let i = 0; i < data.length; i++) {
const query = {
text:
"INSERT INTO health_data(date, user_id, health_data) VALUES($1, $2, $3)",
values: [
data[i].date,
data[i]["user_id"],
data[i]["health_data"],
],
};
tasks.push(pool.query(query));
}
const results = await Promise.all(tasks);
console.log("saved data");
await pool.end();
res.status(200).send("Data Saved");
} catch (e) {
console.log(e);
res.status(500).send("error in saving data");
}
})
);
const{Pool}=require(“pg”);
常数连接={
用户:process.env.DB_用户,
主机:process.env.DB_主机,
数据库:process.env.DB_NAME,
密码:process.env.DB_password,
connectionTimeoutMillis:5000,
端口:parseInt(process.env.DB_端口),
};
控制台日志(conn);
const pool=新池(conn);
app.post(
“/api/v1/data/sync”,
asyncHandler(异步(请求、恢复)=>{
const{data}=req.body;
试一试{
常量任务=[];
for(设i=0;i
我试着让本地和服务器的env变量保持不变,代码在本地工作,但在服务器上不工作。我错过了什么?虽然我也能够在服务器中使用具有相同凭据的psql。只有节点代码不起作用
更新
我将模块从
pg
切换到pgpromise
,同样的env变量也在服务器中工作。关于什么是具有pg
module的有效用户/密码/dbname,是否存在任何限制?在相关问题上,像这样插入多个记录是非常低效的。由于您已切换到pg promise
,请退出。谢谢!。我来看看