Postgresql 尽管已成功运行ALTER user WITH password query,但无法设置用户postgres的密码

Postgresql 尽管已成功运行ALTER user WITH password query,但无法设置用户postgres的密码,postgresql,Postgresql,我在mac上安装了brew版本的Postgres 12.3 \du显示两个用户: Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- facthna | Superuser, Create role, Cr

我在mac上安装了brew版本的Postgres 12.3

\du
显示两个用户:

 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 facthna   | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 postgres  | Superuser, Create role, Create DB                          | {}
此命令是我登录所需的全部:

psql -U postgres
注意,它不需要密码

登录后,我尝试了以下方法:

ALTER USER postgres WITH PASSWORD 'blah';
其回应如下:

ALTER ROLE
但是,注销和重新登录仍然不需要密码

我也尝试过重新启动Postgres服务,但这没有什么区别


请提供帮助。

您可能需要检查您的帐户,其中指定了连接到哪个数据库的哪个来源需要哪个用户的哪些类型的授权。 要查找pg_hba.conf文件,可以从psql中发出以下命令:

SHOW hba_file;
如果在检查文件时,您发现以下内容:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
这意味着所有本地连接都是可信的,因此在本地连接时,您只需跳过密码提示

要强制数据库需要密码,请将需要此行为的数据库、用户和连接源的信任替换为md5,如下所示:

host    all             all             127.0.0.1/32            md5
然后要求数据库应用更改:

pg_hba.conf文件在启动时以及主服务器启动时读取 进程接收一个SIGHUP信号。如果您在活动服务器上编辑文件 系统中,您需要向邮政局长发出信号(使用pg_ctl reload, 调用SQL函数pg_reload_conf(),或使用kill-HUP)使 它重新读取了文件