首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgres:授予我的windows用户访问权限

问postgres:授予我的windows用户访问权限
EN

Stack Overflow用户
提问于 2015-12-02 03:50:16
回答 1查看 435关注 0票数 0

我正尝试在Windows10计算机上设置一个本地数据库,并将访问权限授予我的本地windows用户。但是,当我尝试通过我的节点应用程序访问数据库时,我得到了以下错误消息:使用以下db-url:error: password authentication failed for user "windowsuser":postgres://localhost:5432/testdb

我使用模块"pg“连接到数据库,当我在URL中指定用户名和密码时,一切都可以正常工作-但我想使用我的windows凭据进行连接。

我设置了一个与windowsuser同名的超级用户:

代码语言:javascript
复制
CREATE ROLE windowsuser LOGIN
    SUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION;

并将数据库windowsuser设置为所有者:

代码语言:javascript
复制
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用户没有密码,我希望能够以当前系统用户登录。为了获得正确的访问权限,我是否遗漏了一些必要的东西?

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 21:14:47

我相信你不能在没有密码的情况下进行简单的认证。在这里查看一下PostgreSQL文档:PostgreSQL: Documentation: 9.4: Authentication Methods

您需要设置“信任身份验证”而不是“密码身份验证”。

19.3.2。密码身份验证

PostgreSQL数据库口令与操作系统用户口令是分开的。每个数据库用户的口令存储在pg_authid系统目录中。可以使用SQL命令CREATE user和ALTER ROLE来管理口令,例如,CREATE USER foo WITH password 'secret‘。如果尚未为用户设置口令,则存储的口令为null,该用户的口令验证将始终失败。

您选择使用Windows系统帐户而不使用密码是否有特定的原因?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34028858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档