Я использую Postgres 9.4 на сервере Windows 2008. Я использую три таких экземпляра. Один в качестве ведущего, а остальные два - в качестве ведомого / резервного. Версия Postgres - 9.4 во всех трех случаях. Я настроил репликацию с использованием физического слота. Но репликация не работает. При запросе SELECT * from pg_stat_replication
; Возвращено 0 строк и включено SELECT * from pg_replication_slots
; слот показывает, что он не активен («f» в столбце «активный»).
У меня такая конфигурация:
В начальной школе / магистратуре:
На вторичном / резервном:
Файл recovery.conf на вторичном / резервном сервере:
Что могло не хватать? Я загрузил резервные серверы с резервной копией данных мастера. Спасибо.
У меня была аналогичная проблема с Ubuntu. Для меня оказалось, что replication.conf
был не в нужном месте.
Согласно Postgres Wiki на Потоковая репликация в разделе, описывающем recovery.conf:
$ РЕДАКТОР recovery.conf
Обратите внимание, что recovery.conf должен находиться в каталоге $ PGDATA.
Он НЕ должен находиться в том же каталоге, что и postgresql.conf.
Как только я переехал recovery.conf
в нужное место и перезапустил Postgres, SELECT * from pg_stat_replication
вернулся active = true
.
Надеюсь, это поможет.