MacBook Pro上PostgreSQL 16安装后密码无法连接服务器
解决PostgreSQL 16 + pgAdmin4连接失败问题及相关疑问
一、连接失败排查与修复步骤
1. 检查本地认证配置
PostgreSQL默认对本地连接采用peer或trust认证(无需密码),这是pgAdmin4用密码连接失败的核心原因。
- 找到
pg_hba.conf配置文件,Mac默认路径为/Library/PostgreSQL/16/data/pg_hba.conf - 打开文件,找到所有
local开头的行,将认证方式从peer/trust改为md5:
local all all md5
- 重启PostgreSQL服务:打开「系统偏好设置」→ 找到PostgreSQL图标 → 点击「Stop Server」后再「Start Server」
2. 验证并重置postgres密码
- 打开终端,输入
psql -U postgres:- 若提示输入密码,输入12345能登录则密码有效;
- 若直接进入psql,说明当前是信任认证,密码未生效,需执行以下SQL重置密码:
ALTER USER postgres WITH PASSWORD '12345';
- 执行后输入
\q退出psql,再按上述步骤重启服务。
3. 检查pgAdmin4连接参数
新建服务器连接时确认以下配置:
- 主机名/地址:
localhost或127.0.0.1 - 端口:默认
5432(未修改过的话) - 用户名:
postgres - 密码:12345,勾选「保存密码」
二、你的疑问解答
1. 安装时设置的密码仅适用于postgres用户吗?
是的,安装过程中设置的密码仅对应PostgreSQL默认超级用户postgres,其他用户需单独配置密码。
2. 能否删除原有服务器用户并新建?
可以,但不建议删除postgres用户(系统默认超级用户,很多内部操作依赖它)。如需新用户,直接创建即可:
-- 创建普通用户 CREATE USER new_user WITH PASSWORD 'your_custom_pwd'; -- 创建带超级权限的用户 CREATE USER new_superuser WITH PASSWORD 'your_custom_pwd' SUPERUSER;
删除非postgres用户(需确保该用户无活跃会话):
DROP USER target_user;
3. 是否需要为每个用户设置新密码?
是的,每个用户的密码独立。创建用户时可直接指定密码,或后续用ALTER USER修改。非生产环境若允许本地信任连接,也可不设密码,但生产环境建议为所有用户设置密码。
内容的提问来源于stack exchange,提问作者The Code Whisperer
相关产品推荐
相关产品推荐

