首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pg_shadow显示密码,但日志显示未分配密码,这是不是有原因?

pg_shadow显示密码,但日志显示未分配密码,这是不是有原因?
EN

Stack Overflow用户
提问于 2018-11-17 02:48:42
回答 1查看 206关注 0票数 1

我创建了一个新的PostgreSQL11数据库集群。我使用SQLAlchemy编写了一个简单的CRUD脚本来测试本地主机上的连接,并从python获得“用户身份验证失败”的输出。

我检查了新集群的pg_hba.conf文件,它显示:

代码语言:javascript
运行
复制
local   all             ian                        peer

已经检查了pg_authidpg_shadow,它清楚地显示了分配给数据库所有者“ian”的md5密码。此外,我还检查了新集群是否正在使用pg_lsclusters运行,并显示它在端口5433上运行。已检查连接尝试后的日志,并得到以下消息:

代码语言:javascript
运行
复制
2018-11-16 10:00:59.712 PST [2102] ian@iandb1 DETAIL:  User "ian" has no password assigned.
    Connection matched pg_hba.conf line 94: "host    all             all             ::1/128                 md5"

一点背景知识:我已经将这个脚本连接到postgres拥有的默认DB集群。使用连接字符串中的postgres用户名和密码,我可以很好地连接并执行CRUD操作。

任何帮助都将不胜感激。我认为我需要做一些改变,但不能想象它需要发生在哪里。还在学习诀窍。

EN

回答 1

Stack Overflow用户

发布于 2018-11-17 02:58:42

好吧,我希望这篇文章能让其他人少一些挫败感,在提交了这个问题后,我发现了这个问题--这让我困惑了几个小时:

来源:link to article

默认情况下,当您创建PostgreSQL集群时,数据库超级用户(“postgres”)的密码身份验证是禁用的。向“postgres”用户添加密码的最简单、最安全的方法是使用“psql”连接到本地服务器(参见上面的步骤#1和#2 ),然后键入psql的“\ password”元命令。系统将要求您输入密码并进行确认。

代码语言:javascript
运行
复制
postgres=# \password    
Enter new password:    
Enter it again:    
postgres=#

我替换了我的新集群所有者名称'ian‘并分配了一个密码。我运行了脚本,现在一切似乎都很正常。我想,这些都是新程序员必须努力克服的小问题……感谢任何人谁可以在这里补充我的解释。

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

https://stackoverflow.com/questions/53343737

复制
相关文章

相似问题

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