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 的文章,解释了如何简化访问配置