postgresql管理-pg_hba.conf 文件详解管理

pg_hba.conf 文件详解

pg_hba.conf 是 PostgreSQL 中用于控制客户端认证的配置文件,全称为 "Host-Based Authentication"。该文件定义了哪些主机、用户、数据库可以连接 PostgreSQL 服务器,以及使用何种认证方式。

实际解释:

允许主机可以通过什么连接方式和认证方法通过哪个数据库用户连接哪个数据库。

文件位置通常位于:

  • Linux: /etc/postgresql/[version]/main/pg_hba.conf
  • Windows: [PostgreSQL安装目录]/data/pg_hba.conf

文件格式为每行一条记录,每条记录包含以下字段:

  1. 连接类型(local, host, hostssl, hostnossl)
  2. 数据库名称
  3. 用户名
  4. 客户端地址(CIDR格式)
  5. 认证方法(trust, reject, md5, scram-sha-256, peer等)

常用认证方法

  • trust: 无需密码直接连接
  • reject: 拒绝连接
  • md5: 使用MD5加密密码
  • scram-sha-256: 更安全的SCRAM-SHA-256加密(PostgreSQL 10+推荐)
  • peer: 使用操作系统用户名认证(仅local连接)
  • cert: SSL客户端证书认证
  • ident: 通过ident服务器认证

常见配置示例

允许本地所有用户无密码访问所有数据库:

复制代码
local   all             all                                     trust

允许192.168.1.0/24网段用户通过密码访问特定数据库:

复制代码
host    mydb           myuser        192.168.1.0/24          scram-sha-256

拒绝来自10.0.0.5的特定用户连接:

复制代码
host    all             baduser       10.0.0.5/32             reject

要求SSL加密连接:

复制代码
hostssl  all             all            0.0.0.0/0               cert

允许本地操作系统用户同名连接(Unix域套接字):

复制代码
local   all             all                                     peer

允许特定IP范围的复制用户连接:

复制代码
host    replication     replicator     192.168.2.0/24          md5

配置注意事项

修改pg_hba.conf后需要重新加载配置生效:

sql 复制代码
SELECT pg_reload_conf();

每条规则按顺序匹配,第一个匹配的规则将被应用。建议将更具体的规则放在前面,通用规则放在后面。

生产环境应避免使用trust认证方式,推荐使用scram-sha-256或证书认证。

IPv6地址需要使用::1/128等格式表示,如:

复制代码
host    all             all            ::1/128                 scram-sha-256
相关推荐
通信瓦工4 小时前
利用浊度和电导率测量确定乙二醇基流体的质量
网络·数据库·ai
小马同学-4 小时前
mysql数据库原理
数据库·mysql
东方护航数据恢复(深圳)5 小时前
政务信创案例:达梦 DM8 数据库掉电页损坏,48 小时修复实录【东方护航数据恢复深圳店】
数据库·数据恢复·it运维·服务器数据恢复·二次开盘·硬盘开盘
AC赳赳老秦5 小时前
OpenClaw 数据引用规范自动生成:为公开数据构建可信来源标注与标准引用体系
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw
小蒜学长6 小时前
校园社团招新网站的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端·校园社团招新网站
布莱克6057 小时前
MySQL 增删改查(CRUD)语法详解
数据库·mysql·增删改查
Dovis(誓平步青云)7 小时前
几个方案来回选不定?做一个随时切换的候选推荐页
android·java·服务器·开发语言·javascript·数据库·智能化
2501_933670798 小时前
2027届大数据管理与应用求职数字化转型顾问:项目、SQL、业务理解怎么排优先级
数据库·sql
东方护航数据恢复(深圳)9 小时前
物流案例:勒索病毒 Mallox 加密 ERP 数据库,旧备份 + 残留页重组实录【东方护航数据恢复深圳店】
数据库·数据恢复·勒索病毒·二次开盘·开盘·数据镜像
.Hypocritical.9 小时前
Redis从入门到实战:核心原理、场景落地与避坑指南
数据库·redis·缓存