【发布时间】:2015-01-18 20:08:41
【问题描述】:
我不明白为什么我不能使用 node-postgres 客户端连接到 Postgres,但是当使用具有相同凭据的 Navicat for Postgres 时,我可以。这是我的代码:
var client = new _pg.Client({
user: 'un',
password: 'pwd',
database: 'postgres',
host: 'localhost',
port: 5432,
ssl: true
});
client.connect(function(err) {
if (err) {
console.log('connect err object');
console.log('err = ' + JSON.stringify(err));
return cb(err, undefined);
}
console.log('no error connecting');
client.query('select * from lookup', function(err, result) {
if (err) {
console.log('query err object');
console.log('err = ' + JSON.stringify(err));
return cb(err, undefined);
}
console.log('query exec successfully');
console.log('result = ' + JSON.stringify(result));
return cb(undefined, client);
});
});
连接回调错误输出:
err = {"code":"EADDRNOTAVAIL","errno":"EADDRNOTAVAIL","syscall":"connect"}
我运行了 OSX 网络实用程序,它表明端口已打开:
Port Scan has started…
Port Scanning host: 127.0.0.1
Open TCP Port: 5432 postgresql
Port Scan has completed…
我在工作站或 Postgres 配置中做错了什么?谢谢!
编辑:这是 Postgresql 在 Navicat 中的样子。
【问题讨论】:
-
感谢 Vesevolod。不幸的是,将其设置为 false 并没有改变任何东西。
-
您可以使用其他工具连接到它吗?
-
是的,Navicat。我正在使用管理密码。
标签: node.js postgresql database-connection port