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會以對應的方式加密再發送密碼。