我如何允许节点pg模块与我的Windows postgresql服务器通信



我在本地主机上有一个节点服务器。其中为pg模块:

//above is express requires
var pg = require('pg');
var client = new pg.Client();
client.connect((err)=>{
    if(err) throw err;
    client.end((err)=>{
        if(err) throw err;
    });
})
//below is basic express server stuff

我有,我相信,一个postgresql服务器运行在windows上。我打开了pgadmin,有一个localhost:5432部分,里面是我创建的"测试"数据库。

我的节点服务器当前抛出:

error: password authentication fails for user 'myname'

我不明白我怎么能,要么在postgresql的Windows客户端,设置默认用户名/密码,然后添加到环境变量,或者,在Windows中添加适当的环境变量键/值对,节点pg模块期望这样它就可以登录,或者,告诉节点pg模块如何登录到postgresql,或者,我是否甚至走在正确的道路上。

我如何允许我的节点pg模块连接到我的本地主机postgresql服务器?

编辑:我试图遵循这个SO答案中的说明,但是无论我在哪里指向db创建,无论我是否在管理中使用cmd或powershell,以及无论我为文件设置的权限,我都会收到"拒绝访问"错误。我现在主要通过pgadmin III GUI与postgresql交互。

编辑2:我尝试修改pg初始化:

var connectstring = 'postgres://me:password@localhost/dbname';
var client = new pg.Client(connectstring);

我收到了相同的错误,使用了pgadmin III提示的相同的登录详细信息。

EDIT3:根据这些文档,我应该可能有环境变量列表?如果没有,我在哪里可以找到这些信息,以便手动设置这些环境变量?这是一条正确的道路吗?

使用说明:

var pg = require('pg');
var config = {
  user: 'foo', 
  database: 'my_db', 
  password: 'secret', 
  port: 5432
};
var pool = new pg.Pool(config);

最新更新