Я пытаюсь упаковать postgres с одной машины на другую. Источник - Windows 7 с IP V6, а цель - Windows XP с IPv4.
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, и он должен снова заработать.