【发布时间】:2015-12-03 21:14:47
【问题描述】:
我正在尝试在 Windows 10 计算机中设置本地数据库,并向我的本地 Windows 用户授予访问权限。但是当我尝试通过我的节点应用程序访问数据库时,我收到以下错误消息:error: password authentication failed for user "windowsuser" 使用以下 db-url:postgres://localhost:5432/testdb
我正在使用模块“pg”连接到数据库,当我在 URL 中指定用户名和密码时一切正常 - 但我想使用我的 Windows 凭据进行连接。
我已经设置了一个与我的 windowsuser 同名的超级用户:
CREATE ROLE windowsuser LOGIN
SUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION;
并将数据库 windowsuser 设置为所有者:
CREATE DATABASE testdb
WITH OWNER = windowsuser
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = ''
LC_CTYPE = ''
CONNECTION LIMIT = -1;
GRANT ALL ON DATABASE testdb TO windowsuser;
windows 用户没有密码,我希望能够使用当前系统用户登录。我是否遗漏了一些重要的东西来获得正确的访问权限?
【问题讨论】:
-
更新帖子:使用node和pg连接数据库。实际用户名全小写,在代码示例中修复。
-
这是我帖子中的一个错误 :) 它已修复。它在实际代码和错误消息中都是小写的。但是,当我用匿名名称替换帖子中的名称时,我弄乱了大小写。对此感到抱歉。
-
你为什么把密码留空。使用密码创建角色 windowsuser。
-
在这种情况下,当在节点应用程序中使用没有用户名和密码的 DB-url 时,它能够“正常工作”的密码是多少?我尝试分配与本地 Windows 用户相同的密码 - 但这似乎不起作用。
标签: node.js postgresql