MacOS使用Homebrew安装PostgreSQL后执行createdb提示密码错误怎么办
Homebrew安装PostgreSQL后createdb密码验证失败解决方法
核心结论
你遇到的密码提示不存在预设的默认正确密码,通过Homebrew安装的PostgreSQL默认启用对等身份认证规则,不会设置初始密码:只要你当前登录的系统用户和请求访问PostgreSQL的用户名一致,不需要输入密码即可直接访问。
出现密码验证报错属于认证规则匹配异常,可通过以下步骤修复:
修复步骤
- 先重启PostgreSQL服务确认服务运行正常:
brew services restart postgresql - 尝试直接连接默认PostgreSQL库验证无密码访问是否生效:
psql postgres
如果可以正常进入psql交互命令行,说明默认配置正常,你可以手动设置用户密码,后续访问用该密码即可:ALTER USER kevin PASSWORD '自定义的密码'; - 如果执行
psql postgres依然要求输入密码,说明认证配置文件被修改,需要手动调整:- 打开PostgreSQL客户端认证配置文件:
- Intel芯片Mac路径:
/usr/local/var/postgres/pg_hba.conf - M系列芯片Mac路径:
/opt/homebrew/var/postgres/pg_hba.conf
- Intel芯片Mac路径:
- 找到文件末尾的两行host配置:
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256 - 将两行配置末尾的
scram-sha-256修改为trust,保存文件后重启PostgreSQL服务 - 此时再次执行
psql postgres即可免密进入,手动设置用户密码后,可以按需把pg_hba.conf的配置改回scram-sha-256并重启服务,后续访问就用你自己设置的密码即可。
- 打开PostgreSQL客户端认证配置文件:
额外说明
执行createdb命令不需要指定用户的前提是,你需要提前在PostgreSQL中创建和系统用户名同名的数据库,或者手动指定要连接的数据库名:createdb -d postgres 你要创建的数据库名
内容的提问来源于stack exchange,提问作者Rollsbean
相关产品推荐
相关产品推荐

