背景
MacOS下postgresql(pgsql)数据库密码似乎可以不填或乱填都可以登录,这个是因为安全策略认为本地连接是安全的,默认配置如此。
然后你会发现无密码登录后执行以下修改postgres用户的密码并重启pgsql进程后,依然不需要密码
ALTER USER postgres WITH PASSWORD '新密码';
如何设置密码
要求改 pg_hba.conf 这个配置文件
配置文件在哪里?
执行 ps -ef|grep postgres
,看到
501 3925 1 0 9:01AM ?? 0:00.03 /Applications/Postgres.app/Contents/Versions/12/bin/postgres -D /Users/stonewang/Library/Application Support/Postgres/var-12 -p 5432
501 3927 3925 0 9:01AM ?? 0:00.00 postgres: checkpointer
501 3928 3925 0 9:01AM ?? 0:00.03 postgres: background writer
501 3929 3925 0 9:01AM ?? 0:00.01 postgres: walwriter
501 3930 3925 0 9:01AM ?? 0:00.01 postgres: autovacuum launcher
501 3931 3925 0 9:01AM ?? 0:00.04 postgres: stats collector
501 3932 3925 0 9:01AM ?? 0:00.00 postgres: logical replication launcher
501 3940 3925 0 9:01AM ?? 0:00.01 postgres: postgres postgres 127.0.0.1(58351) idle
501 4074 3637 0 9:10AM ttys001 0:00.00 grep --color postgres
StoneMakPro2019:var-12 stonewang$
看到 -D
后面的路径就是配置文件的目录
进入这个目录/Users/stonewang/Library/Application Support/Postgres/var-12
,注意中间有空格要加\
转义一下,进入后vi修改配置文件
(下图,本来全是trust的值,全部改成password)
至此,再重启pgsql的进程,然后发现本地连接也需要输入密码了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135088.html