Обычная старая потоковая репликация. PostgreSQL: 9.2.7 Windows 8.1 64 бит
Мой основной и дополнительный кластеры находятся на одной машине Windows. Я уже сделал pg_start_backup () и все, поэтому оба узла имеют точно такие же данные.
Теперь проблема с репликацией заключается в том, что «подключение репликации» от подчиненного сервера не подключается к основному серверу, но я могу подключиться с использованием тех же параметров, используя оболочку psql. Я думаю, что виновником является строка подключения в recovery.conf ведомого:
primary_conninfo = 'host = 127.0.0.1 port = 5432 user = postgres password = postgres'
Я пробовал localhost, 0.0.0.0, LAN IP все, но журнал pg говорит:
FATAL: could not connect to the primary server: FATAL: no pg_hba.conf entry for replication connection from host "127.0.0.1", user "postgres", SSL off
Теперь посмотрите на моего Мастера pg_hba.conf:
host all all 0.0.0.0/0 trust
host all postgres 127.0.0.1/0 trust
# IPv6 local connections:
host all all ::1/128 md5
hostnossl all postgres 127.0.0.1/32 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#host replication postgres 127.0.0.1/32 md5
#host replication postgres ::1/128 md5
Как будто я разрешил все возможные соединения, но ведомый не может подключиться. Можете ли вы помочь?
источник
Добавление строки ниже
pg_hba.conf
и перезагрузка работали для меня. Учитывая, что тип является «локальным», указывать адрес явно не нужно.И не забудьте
pg_ctl reload
источник
Еще одно возможное решение, с которым я столкнулся. Если вы выполняете логическую репликацию и для DATABASE задана репликация, она не будет работать. Нужно просто получить обычный параметр.
replication
Параметр для физической репликации, а не логическая репликации.Чувак, ему понадобилась работа, чтобы понять. Надеюсь, это поможет!
источник