【问题标题】:How do you connect to a Postgres Database with no password using pg-promise?如何使用 pg-promise 连接到没有密码的 Postgres 数据库?
【发布时间】:2016-06-18 21:09:07
【问题描述】:

我正在尝试初始化与我的 PG 数据库的连接:

    pgp = require('pg-promise')({
    // Initialization Options
}),
cn = {
    host: 'activity.postgres.activity', // server name or IP address;
    port: 5432,
    database: 'activity',
    user: 'postgres',
    password: ''
},
db = pgp(cn),

但我不断得到:

错误:连接 ECONNREFUSED 172.20.0.3:5432

知道为什么吗?

已解决: 在 postgresql.conf 文件中设置 listen_addresses = '*'

【问题讨论】:

    标签: node.js postgresql pg-promise


    【解决方案1】:

    问题不在于您使用的库或密码。

    错误告诉您该 IP/端口上没有可用的服务器。

    另请参阅:node-postgres get error connect ECONNREFUSED

    即首先检查您是否可以通过 PSQL 连接到它。

    【讨论】:

    • 通过将 postgresql.conf 文件中的“listen_addresses”行更改为“*”以接受所有传入连接,解决了这个问题。感谢您为我指明正确的方向。
    【解决方案2】:

    您可以在here 中通过 Google 搜索找到此内容

    使用“pg-promise”的示例:

    var pgp = require('pg-promise')(/*options*/);
    
    var cn = {
        host: 'my_host', // server name or IP address;
        port: 5401,
        database: 'myDatabase',
        user: 'myUser',
        password: 'myPassword'
    };
    
    var db = pgp(cn);
    // SELECT all rows with id = 111 in my_table
    db.one("SELECT * FROM my_table WHERE id=$1", 111)
        .then(function (result) {
            console.log(result); // print user result;
        })
        .catch(function (error) {
            console.log(error); // print why failed;
        });
    

    还有一个使用“pg”模块连接 Postgres 数据库的示例:

    var Client                      = require('pg').Client;
    
    var configServer                        = {
        user                : 'user', // if don't have user and pass then ''
        password            : 'my_pass',
        database            : 'my_database',
        host                : 'my_host',
        port                : 54103 // this is a example
    };
    var client      = new Client(configServer);
        client.connect();
    
    // SELECT all rows in my_table
    var sql = "SELECT * FROM my_table";
    client.query(sql, callback);
    

    【讨论】:

    • 当他与服务器的连接中断时,我认为他不需要使用库的示例。
    猜你喜欢
    • 2021-07-03
    • 2019-07-10
    • 2017-01-27
    • 1970-01-01
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多