pg_hba.conf
(“hba”代表“基于主机的访问”)是PostgreSQL的主要配置文件之一,用于确定哪些用户可以从哪个主机使用哪种身份验证方法访问哪个数据库。
pg_hba.conf
是在Postgres95中添加的。
位置
默认情况下,pg_hba.conf
位于实例的数据目录中。可以通过在实例启动时显式设置参数hba_file
来覆盖此设置。
pg_hba.conf
的位置可以通过执行以下命令之一确定:
SHOW hba_file;
或
SELECT current_setting('hba_file');
目录
系统目录视图pg_hba_file_rules
提供了pg_hba.conf
当前内容的摘要,可以在尝试应用更改之前用于检查潜在的错误。
更改历史记录
正在开发中
- PostgreSQL 16
- PostgreSQL 14
- PostgreSQL 10
- 逻辑复制连接现在作为普通连接处理,即不再使用
replication
关键字(提交8df9bd0b) - 可以通过视图
pg_hba_file_rules
访问内容(提交de16ab72)
- 逻辑复制连接现在作为普通连接处理,即不再使用
- PostgreSQL 8.4
pg_hba.conf
现在在postmaster中解析(提交98723810)- 添加了身份验证选项
clientcert
(提交3c486fbd) - 一些Kerberos选项可以在
pg_hba.conf
中设置,覆盖postgresql.conf设置(提交32c469d7) - 以前的配置参数
krb_realm
和krb_server_hostname
现在是pg_hba.conf
选项(提交1b4e729e)
- PostgreSQL 8.0
- PostgreSQL 7.4
- PostgreSQL 7.3
- 添加了列
USER
(提交43a3543a)
- 添加了列
- PostgreSQL 7.2
- 添加了身份验证方法
md5
(提交bcb0ccf5)
- 添加了身份验证方法
- PostgreSQL 6.4
- 添加了对
sameuser
标记的支持(提交3f372ee6)
- 添加了对
pg_hba.conf
是在Postgres95开发阶段添加的(初始提交57026d60)
参考文献
- PostgreSQL文档: pg_hba.conf
有用链接
- 通过使用pg_hba.conf使pg_hba.conf冗余 - Shaun M. Thomas撰写的文章,解释了如何简化访问配置