【问题标题】:Node-Postgres Connect Error: EADDRNOTAVAIL节点 Postgres 连接错误:EADDRNOTAVAIL
【发布时间】: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


【解决方案1】:

问题是没有 db 对象被授予上面的用户名。一旦我这样做了,一切都很顺利。希望这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 2019-05-26
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    相关资源
    最近更新 更多