PostgreSQL中的pg_hba.conf
环境:PG 13
-bash-4.2$ pwd
/var/lib/pgsql/13/data
-bash-4.2$ more pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
# 1、连接方式
Type列标识允许的连接方式,可用的值有:local、host、hostssl、hostnossl。
local匹配使用Unix域套接字的连接
host匹配使用TCP/IP建立的连接,同时匹配SSL和非SSL连接。默认安装只监听本地环回地址localhost的连接,不允许使用TCP/IP远程连接,启用远程连接需要修改postgresql.conf中的listen_addresses参数
hostssl匹配必须是使用SSL的TCP/IP连接。配置hostssl有三个前提条件:
1)客户端和服务端都安装OpenSSL
2)编译PostgreSQL的时候指定configure参数--with-openssl打开SSL支持
3)在postgresql.conf中配置ssl=on
hostnossl和hostssl相反,它只匹配使用非SSL的TCP/IP连接。
# 2、目标数据库
DATABASE列标识该行设置对哪个数据库生效
# 3、目标用户
USER列标识该行设置对哪个数据库用户生效
# 4、访问来源
ADDRESS列标识该行设置对哪个IP地址或者IP网段生效
# 5、认证方式
MOTHOD列标识客户端的认证方式,常见的认证方法有trust,reject、md5和password等。