PostgreSQL的pg_hba.conf文件讲解

Posted zhi-leaf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL的pg_hba.conf文件讲解相关的知识,希望对你有一定的参考价值。

    pg_hba.conf为PostgreSQL的访问策略配置文件,默认位于/var/lib/pgsql/10/data/目录(PostgreSQL10)。

    该配置文件有5个参数,分别为:TYPE(主机类型)、DATABASE(数据库名)、USER(用户名)、ADDRESS(IP地址和掩码)、METHOD(加密方法)

TYPE,有4个值

local:使用Unix-domainsocket
host:使用TCP/IP连接,可以是SSL的,也可以不是
hostssl:必须是SSL的
hostnossl:必须是非SSL的

技术图片

DATABASE:

    数据库名,可以是"all", "sameuser", "samerole", "replication"。all表示所有,但不包括replication。多个数据库用“,”隔开。

技术图片

USER:

    用户名,可以为"all",表示所有,也可以具体指定一个用户。多个用户用“,”隔开。和DATABASE一样,也可以将配置放到文件中,文件名加上前缀@

技术图片

ADDRESS:

    可以是为一个主机名,或者由IP地址和CIDR掩码组成。掩码可以为0-32(IPv4)或者0-128(IPv6)间的一个整数,32表示子网掩码为255.255.255.255,24表示子网掩码为255.255.255.0。主机名以“.”开头。samehost可以匹配所有主机、samenet可以匹配同一个掩码内的所有主机。

    例:192.168.10.122/32表示单一主机,192.168.10.0/24表示192.168.0.1~192.168.0.255网段内所有主机,0.0.0.0/0表示所有主机。

技术图片

METHOD:

    密码加密策略,password表示以明文方式发送密码,md5和scram-sha-256会以对应的方式加密再发送密码。

技术图片

 

以上是关于PostgreSQL的pg_hba.conf文件讲解的主要内容,如果未能解决你的问题,请参考以下文章

postgreSQL 认证方式

PostgreSQL指定用户可访问的数据库pg_hba.conf

PostgreSQL指定用户可访问的数据库pg_hba.conf

PostgreSQL 允许远程访问设置方法

Linux怎么设置PostgreSQL远程访问

Postgresql“没有 pg_hba.conf 条目”错误