Назад | Перейти на главную страницу

postgres - использование одного и того же pg_hba.conf между системой IPV4 и системой IPV6

Я пытаюсь упаковать postgres с одной машины на другую. Источник - Windows 7 с IP V6, а цель - Windows XP с IPv4.

Запуск postgres в Windows XP дает ошибку

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 - использование одного и того же pg_hba.conf между системой IpV4 и системой IpV6

Вот как выглядит мой 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

Есть ли способ использовать один и тот же pg_hba.conf, общий для ipv6 и ipv4?

Вероятно, это не сработает без какой-либо процедуры установки, которая исправляет файл pg_hba.conf для локальной ситуации. Вы можете искать существующие строки, созданные initdb в исходном файле, и при необходимости просто изменять их. initdb не будет вставлять строку IPv6, если система не поддерживает IPv6.

В PostgreSQL 9.1 (еще не выпущенном) вы сможете помещать имена хостов в pg_hba.conf. Так что просто пишу localhost может работать на большинстве ваших целевых систем.

Просто избавьтесь от этой строки:

host    all         all         ::1/128               trust

Если вы используете систему, поддерживающую только IPv4, то, скорее всего, адрес обратной связи IPv6 не будет распознан.

Это решение не работает. Попробуй добавить -h в postmaster.opts как параметр. Это отключит IPv6, и он должен снова заработать.