你如何使用pg-promise连接到没有密码的Postgres数据库?
我试图初始化一个连接到我的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 ='*'
问题不在于您正在使用的库或密码。
该错误告诉您在该IP /端口上没有服务器可用。
另请参见: node-postgres获取错误连接ECONNREFUSED
即首先检查是否可以通过PSQL连接到它。
你可以在这里通过谷歌searchfind这个
使用“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);