MacOS下psql执行报错:用户luicruz密码认证失败的解决求助
解决MacOS中psql密码认证失败问题
问题描述
运行psql命令时返回如下错误:
psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: FATAL: password authentication failed for user "luicruz"
尝试输入sudo密码无效,仅安装时创建的默认用户postgres的密码可用,不清楚luicruz用户是自动创建的,未给该用户设置过密码,导致无法正常使用psql。
解决方案
方案1:指定postgres用户直接登录
直接使用默认管理员用户postgres连接数据库,执行以下命令:
psql -U postgres
输入安装PostgreSQL时设置的postgres用户密码,即可成功进入数据库命令行。
方案2:为luicruz用户设置密码
- 先通过方案1的方式登录到postgres命令行
- 执行以下SQL语句为
luicruz设置密码(替换your_new_password为你想设置的密码):
ALTER USER luicruz WITH PASSWORD 'your_new_password';
- 输入
\q退出命令行,之后直接运行psql,输入刚设置的密码即可正常登录。
方案3:修改认证配置简化登录(可选)
如果不想每次登录都输入密码,可以修改PostgreSQL的认证配置文件:
- 找到
pg_hba.conf文件,Mac上常见路径为/Library/PostgreSQL/[你的版本号]/data/pg_hba.conf(比如/Library/PostgreSQL/16/data/pg_hba.conf) - 打开文件,找到本地连接的配置项(通常是开头为
local all all的行),将认证方式从md5改为trust:
local all all trust
- 保存文件后,重启PostgreSQL服务:
- 若通过Homebrew安装:执行
brew services restart postgresql - 若通过官方安装包:打开系统偏好设置,找到PostgreSQL,点击"Restart"按钮
- 若通过Homebrew安装:执行
修改后,本地使用psql将无需输入密码直接登录。
内容的提问来源于stack exchange,提问作者Louis
相关产品推荐
相关产品推荐

