【发布时间】:2016-07-19 13:58:01
【问题描述】:
以下是连接详情
exports.DB_NAME = "postgres";
exports.DB_USERNAME = "abcd";
exports.DB_PASSWORD = "abcd1234";
exports.DB_HOST = "abcd.cvg87ikjlfjt.us-east-1.rds.amazonaws.com";
exports.DB_PORT = "5432";
exports.DB_SCHEMA = "ABCD";
这就是我的 NodeJS 代码的样子
var config = {
user: CONSTANT.DB_USERNAME,
database: CONSTANT.DB_SCHEMA,
host: CONSTANT.DB_HOST,
password: process.env.PGPASSWORD,
port: CONSTANT.DB_PORT
};
console.log("config : "+JSON.stringify(config));
var pool = new pg.Pool(config);
当我将配置对象传递给 Pool 构造函数时,它失败了。 它给了我以下错误
events.js:141
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND undefined undefined:5432
at errnoException (dns.js:27:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)
搜索了所有论坛,每个人的主机名都有错误。但这里不是这样。 不知道为什么会收到此错误。 我的 NodeJS 版本是 4.4.2,PostgreSQL 版本是 9.5.2
欢迎任何帮助/建议。
谢谢。
【问题讨论】:
-
console.log("config : "...显示什么?它是否使用凭据打印正确的 JSON? -
是的,确实如此。它按预期打印数据。
-
尝试添加错误处理程序,看看是否有错误:github.com/brianc/node-pg-pool#error
-
我在将配置传递给池构造函数后添加了以下块 `pool.on('error', function(error, client) { if(err) { console.log(err); } }) ` 但是我不认为这个特定的块本身会被执行,因为池对象本身没有被创建。希望在这里有意义吗?
-
嗨@Maga,你解决过这个问题吗?
标签: node.js postgresql dbconnection node-postgres