MacOS下postgresql(pgsql)数据库密码为什么不需要填写或可以乱填写

Posted 石头StoneWang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MacOS下postgresql(pgsql)数据库密码为什么不需要填写或可以乱填写相关的知识,希望对你有一定的参考价值。

背景

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的进程,然后发现本地连接也需要输入密码了。

以上是关于MacOS下postgresql(pgsql)数据库密码为什么不需要填写或可以乱填写的主要内容,如果未能解决你的问题,请参考以下文章

postgreSQL

Postgresql 主从复制

使用python登录pgsql,实现监控PostgreSQL

使用python登录pgsql,实现监控PostgreSQL

关于postgresql——常用操作指令

rehat7.X下postgresql 11编译安装