brew启动postgresql报错5及用户密码认证失败问题求助
PostgreSQL 启动报错及密码认证失败解决方案
问题1:首次执行brew services start postgresql报exit 5错误
原因
该报错通常是launchctl残留旧服务注册条目、PostgreSQL数据目录权限异常,或者plist文件权限不符导致。
解决步骤
- 先移除残留的launchctl服务条目:
launchctl bootout gui/502 /Users/Andrea/Library/LaunchAgents/homebrew.mxcl.postgresql.plist - 卸载Homebrew注册的PostgreSQL服务:
brew services uninstall postgresql - 修复PostgreSQL数据目录权限(苹果芯片设备路径为
/opt/homebrew/var/postgres,Intel芯片设备路径为/usr/local/var/postgres,可自行替换):sudo chown -R $(whoami):staff /opt/homebrew/var/postgres - 重新注册并启动服务:
brew services start postgresql
操作完成后首次启动即可正常加载,不会再复现exit 5报错。
问题2:createdb提示"Andrea"用户密码认证失败
原因
修改pg_hba.conf后未重启服务、用户名大小写匹配错误,或者密码修改操作未生效都会导致该问题。
解决步骤
- 先确认pg_hba.conf文件路径:执行
ps aux | grep postgres,查看进程启动参数中-D后跟随的路径即为数据目录,pg_hba.conf存放在该目录下。 - 打开pg_hba.conf,将所有本地连接的method字段修改为
trust,保存后重启服务生效:brew services restart postgresql - 无需密码直接连接template1数据库:
psql template1 - 执行修改密码命令(注意用户名大小写要和报错完全一致,需加双引号包裹):
ALTER USER "Andrea" WITH PASSWORD '自定义你的密码'; - 执行
\q退出psql,再将pg_hba.conf的method字段改回原配置(如scram-sha-256或md5),再次重启服务。 - 此时执行
createdb test即可正常创建数据库。
内容的提问来源于stack exchange,提问作者Andrea Everett
相关产品推荐
相关产品推荐

