postgresql - 致命:用户“postgres”的密码验证失败(带有 pgAdmin 4 的 postgresql 11)
问题描述
我最近安装了 Postgresql 11,在安装过程中,没有为 Postgres 输入密码和用户名的步骤。现在在 pgAdmin 4 中,我想将数据库连接到服务器,它要求我输入密码,而我一开始没有输入任何密码。任何人都知道发生了什么。谢谢!
解决方案
PostgreSQL 的默认身份验证模式设置为ident。
您可以通过以下方式访问您的 pgpass.confpgAdmin -> Files -> open pgpass.conf
pgpass.conf
这将为您提供窗口底部的路径(官方文档)。
知道位置后,您可以打开此文件并根据自己的喜好对其进行编辑。
如果这不起作用,您可以:
找到您的
pg_hba.conf
, 通常位于C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf
如有必要,设置它的权限,以便您可以修改它。您的用户帐户可能无法执行此操作,直到您使用属性对话框中的安全选项卡通过使用管理员覆盖来授予自己该权限。
或者,在您的开始菜单中找到
notepad
或notepad++
,右键单击,选择“以管理员身份运行”,然后使用该方式File->Open
打开pg_hba.conf
。编辑它以将主机“127.0.0.1/32”上的用户“postgres”的“主机”行设置为“信任”。如果该行不存在,您可以添加该行;
host all postgres 127.0.0.1/32 trust
只需在任何其他行之前插入。(您可以忽略注释,以# 开头的行)。从服务控制面板重新启动 PostgreSQL 服务 (
start->run->services.msc
)使用
psql
pgAdmin4 或任何您喜欢的方式连接跑
ALTER USER postgres PASSWORD 'fooBarEatsBarFoodBareFoot'
删除您添加到 pg_hba.conf 的行或将其改回
再次重新启动 PostgreSQL 以使更改生效。
这是文件的示例(pg_hba.conf
METHOD 已设置为trust):
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
注意:请记住在更改密码后将 METHOD 改回或此处md5
列出的其他身份验证方法(如上所述)。
推荐阅读
- sql - Oracle SQL 加入和扩展
- angular - Angular,BsDatepicker 格式
- rally - 获取给定版本的 Rally 用户故事快照
- sql - 在 SQL Oracle 中逐行条件计数项目
- opengl - 几何着色器正在复制形状(处理中)
- node.js - 从 Kubernetes NGINX 入口控制器公开服务总是返回 502 Bad Gateway
- javascript - 如何使用 Firebase Functions 中的 firebase 实时数据库?(电报机器人)
- html - 用 html 消失内容
- redis - 重新连接后生菜会重新发送AUTH吗?
- typescript - 如何使用 JSDoc 传递泛型类型参数?