两个 postgres 配置文件中哪个postgresql.conf
优先pg_hba.conf
?
pg_hba.conf
控制客户端身份验证方法,包括“md5”和“scram-sha-256”
postgresql.conf
包括 password_encryption 的条目,它可以是“md5”或“scram-sha-256”(或空白,我猜)
因此,如果这些值没有设置为相同的值,哪个优先?
两个 postgres 配置文件中哪个postgresql.conf
优先pg_hba.conf
?
pg_hba.conf
控制客户端身份验证方法,包括“md5”和“scram-sha-256”
postgresql.conf
包括 password_encryption 的条目,它可以是“md5”或“scram-sha-256”(或空白,我猜)
因此,如果这些值没有设置为相同的值,哪个优先?
没有优先选择,因为它们有不同的目的。
password_encryption
在 postgresql.conf 中告诉如何在更改新密码或使用密码创建新用户时对新密码进行哈希处理。中的字段
pg_hba.conf
告诉匹配规则的客户端尝试连接时应使用哪种身份验证方案。与不支持SCRAM 身份验证的客户端连接时:
如果与此连接尝试匹配的第一行在
pg_hba.conf
METHOD 字段中:scram-sha-256
,连接将被拒绝。md5
并且这个账户的密码是用一个md5
哈希值存储的(独立于password_encryption
),连接就会成功。md5
并且该帐户的密码以scram-sha256
哈希(独立于password_encryption
)存储,连接将被拒绝。超级用户可以通过查看系统表中的散列密码来检查分配给现有帐户的密码类型
pg_catalog.pg_authid
。