Postgresql

如何使用 IPv6 設置 IP 段和連接字元串?

  • December 18, 2019

對於這個 PostgreSQL 配置範例:

https://repmgr.org/docs/4.4/quickstart-authentication.html

   local   replication   repmgr                              trust
   host    replication   repmgr      127.0.0.1/32            trust
   host    replication   repmgr      192.168.1.0/24          trust

   local   repmgr        repmgr                              trust
   host    repmgr        repmgr      127.0.0.1/32            trust
   host    repmgr        repmgr      192.168.1.0/24          trust

我有兩個問題。

問題 1

這就是網路遮罩查找 IPv4 的方式:192.168.1.0/24.

如何處理 IPv6 IP 地址230b:c010:103:5858:a6a3:3:0:1

問題2

如果使用 JDBC 連接到 PostgreSQL 伺服器,我可以使用包含192.168.1.11:5432. 如何用 IPv6 做到這一點?是這樣230b:c010:103:5858:a6a3:3:0:1:5432嗎?

答案1:

就像文件說的那樣:

IPv6 地址範圍可能類似於::1/128單個主機(在本例中為 IPv6 環回地址)或fe80::7a31:c1ff:0000:0000/96小型網路。0.0.0.0/0代表所有 IPv4 地址,並::0/0代表所有 IPv6 地址。要指定單個主機,請對 IPv4 使用 32 的遮罩長度或對 IPv6 使用 128 的遮罩長度。在網路地址中,不要省略尾隨零。

答案 2:

就像文件說的那樣:

  • *host*

伺服器的主機名。預設為localhost. 要指定 IPv6 地址,您必須將host參數括在方括號中,例如:

jdbc:postgresql://[::1]:5740/accounting

引用自:https://dba.stackexchange.com/questions/255842