Windows

postgres - 在 IPV4 系統和 IPV6 系統之間共享相同的 pg_hba.conf

  • November 5, 2012

我正在嘗試將 postgres 從一台機器打包到另一台機器。源是帶有 IP V6 的 windows 7,目標是帶有 IPv4 的 windows XP。

在 Windows XP 上啟動 postgres 會出錯

2010-11-01 12:01:07 IST LOG:  invalid IP address "::1": Unknown host
2010-11-01 12:01:07 IST CONTEXT:  line 76 of configuration file "C:/postgres/data/pg_hba.conf"
2010-11-01 12:01:07 IST FATAL:  could not load pg_hba.conf

– postgres - 在 IpV4 系統和 IpV6 系統之間共享相同的 pg_hba.conf

這是我的 pg_hba.conf 的樣子

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
# IPv6 local connections:
host    all         all         ::1/128               trust

有沒有辦法使用 ipv6 和 ipv4 通用的相同 pg_hba.conf?

如果沒有一些針對本地情況修補 pg_hba.conf 文件的安裝常式,這可能無法正常工作。您可以查找 initdb 在初始文件中創建的現有行,並在必要時修改這些行。如果系統不支持 IPv6,initdb 不會放入 IPv6 行。

在 PostgreSQL 9.1(尚未發布)中,您將能夠將主機名放入 pg_hba.conf。因此,僅編寫localhost可能適用於您的大多數目標系統。

只需擺脫這一行:

host    all         all         ::1/128               trust

如果您使用的是純 IPv4 系統,則可能無法辨識 IPv6 環回地址。

引用自:https://serverfault.com/questions/196806