Mac OS X下PSQL命令需输入密码的问题咨询与解决
嘿,我来帮你搞定这个PostgreSQL的密码问题!针对你Mac上的10.4版本,我整理了两种实用方案——要么重置密码,要么调整配置直接取消密码提示,一步步来:
方案一:重置PostgreSQL默认用户密码
PostgreSQL默认有个postgres超级用户,咱们可以通过单用户模式重置它的密码:
- 先停掉PostgreSQL服务:
- 如果是用Homebrew安装的,执行:
brew services stop postgresql@10 - 如果是官网安装包装的,执行:
sudo launchctl stop com.edb.postgresql-10
- 如果是用Homebrew安装的,执行:
- 以无验证模式启动PostgreSQL(注意替换数据目录,Homebrew默认是
/usr/local/var/postgres,官网包一般是/Library/PostgreSQL/10/data):postgres -D /usr/local/var/postgres --single - 进入单用户模式后,输入重置密码的命令(把
你的新密码换成你想设的密码):ALTER USER postgres WITH PASSWORD '你的新密码'; - 输入
\q退出单用户模式,然后重启服务:- Homebrew用户:
brew services start postgresql@10 - 官网包用户:
sudo launchctl start com.edb.postgresql-10
- Homebrew用户:
- 现在用
psql -U postgres登录,输入新密码就能正常进入了。
方案二:取消psql的密码提示(适合本地开发环境)
如果只是想跳过密码验证,直接修改pg_hba.conf配置文件即可:
- 找到配置文件位置:
- Homebrew安装:
/usr/local/var/postgres/pg_hba.conf - 官网安装包:
/Library/PostgreSQL/10/data/pg_hba.conf
- Homebrew安装:
- 打开文件,找到以下几行(可能略有不同):
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5 - 把这些行里的
md5替换成trust,这样本地连接就会跳过密码验证。 - 保存文件后,重启PostgreSQL服务(和上面的重启命令一致)。
- 现在再执行
psql或者psql -U postgres,就不会弹出密码提示了。
⚠️ 注意:trust模式安全性很低,只适合本地开发环境使用,生产环境绝对不能这么配置!
内容的提问来源于stack exchange,提问作者daniel lee
相关产品推荐
相关产品推荐

