2016-03-04 53 views
4

我試圖初始化我的PG數據庫這樣的連接:如何使用pg-promise連接到沒有密碼的Postgres數據庫?

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), 

但我不斷收到:

Error: connect ECONNREFUSED 172.20.0.3:5432

任何想法,爲什麼?

解決: 設置的listen_addresses = '*' 在postgresql.conf文件

回答

0

您可以通過在here

例谷歌搜索找到這個名稱中使用 「PG-承諾」:

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); 
+1

我不認爲他需要在與服務器的連接斷開時使用庫的示例。 –

3

問題不在於您正在使用的庫或密碼。

該錯誤告訴您在該IP /端口上沒有服務器可用。

參見:node-postgres get error connect ECONNREFUSED

即首先檢查您可以通過PSQL連接到它。

+0

此問題已通過將postgresql.conf文件中的「listen_addresses」行更改爲'*'來接受所有傳入連接來解決。謝謝你指出我在正確的方向。 –

相關問題