Node-Postgres Connect Error: EADDRNOTAVAIL

Node-Postgres Connect Error: EADDRNOTAVAIL

我不明白为什么我无法使用 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"}

I 运行 OSX 网络实用程序,它表示端口已打开:

Port Scan has started…

Port Scanning host: 127.0.0.1

     Open TCP Port:     5432        postgresql
Port Scan has completed…

我在我的工作站或我的 Postgres 配置中做错了什么?谢谢!

编辑:这是 Postgresql 在 Navicat 中的样子。

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