Mac系统下Pg Admin 4连接时报用户“postgres”认证失败问题求助
Mac平台的Postgres默认启用基于系统用户的身份认证规则,只有当前登录的Mac系统用户名和要连接的Postgres用户名完全一致时,才允许无密码登录。你直接用postgres用户连接时,和你当前的Mac系统用户名不匹配,就会触发认证失败,和是否设置密码无关。
步骤1:定位pg_hba.conf配置文件
根据你安装Postgres的方式,对应查找配置文件路径:
- 官方dmg安装包安装:
/Library/PostgreSQL/<你的Postgres版本号>/data/pg_hba.conf,例如版本为15时路径为/Library/PostgreSQL/15/data/pg_hba.conf - Homebrew安装(Intel芯片Mac):
/usr/local/var/postgres/pg_hba.conf - Homebrew安装(M系列芯片Mac):
/opt/homebrew/var/postgres/pg_hba.conf
如果不确定安装方式,打开终端执行ps aux | grep postgres,返回结果中-D参数后面的路径就是data目录,pg_hba.conf就存放在这个目录下。
步骤2:临时修改认证规则
打开找到的pg_hba.conf文件,拉到文件末尾,找到如下格式的配置行:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
将行末的peer、scram-sha-256统一替换为trust,替换后结果如下:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
保存文件,如果提示无权限,右键点击上层的data目录,在「显示简介」-「共享与权限」中给你当前的Mac用户添加「读与写」权限后再修改。
步骤3:重启Postgres服务
根据安装方式执行对应的重启命令:
- 官方dmg安装:终端执行
sudo /Library/PostgreSQL/<你的Postgres版本号>/bin/pg_ctl restart -D /Library/PostgreSQL/<你的Postgres版本号>/data - Homebrew安装:终端执行
brew services restart postgresql
步骤4:为postgres用户设置密码
- 打开终端执行
psql -U postgres,此时无需密码即可进入Postgres命令行 - 执行命令
ALTER USER postgres PASSWORD '自定义的密码';,注意命令末尾的分号不可省略 - 执行完成后输入
\q回车,退出命令行
步骤5:恢复安全认证规则(可选,推荐执行)
重新打开pg_hba.conf,将之前改为trust的几行配置改回原来的peer、scram-sha-256,保存后再次重启Postgres服务,避免数据库无密码访问的安全风险。
步骤6:PgAdmin4连接配置
打开PgAdmin4新建服务器连接,填写以下参数:
- 主机地址:
127.0.0.1 - 端口:默认
5432 - 用户名:
postgres - 密码:填写你刚才设置的自定义密码
测试连接即可成功。
内容的提问来源于stack exchange,提问作者Timur

