Добрый день,
Необходимо настроить двунаправленную репликацию PostgreSQL 10,
пробовал средствами самой СУБД получается рекурсивный коллапс
делал следующим образом:
на localhost'e создал 2 инстанса
initdb -D "folder1"
initdb -D "folder2"
зарегал, запустил(на разных портах)
создал публикации, подписал их друг на друга
CREATE PUBLICATION testpub FOR TABLE users;
CREATE SUBSCRIPTION testsub CONNECTION 'host=127.0.0.1 port=5432 user=postgres password=root dbname=postgres'
PUBLICATION testpub;
ALTER TABLE users REPLICA IDENTITY FULL;
в конфигах в postgresql.conf
wal_level = logical
archive_mode = off
в pg_hba.conf
host replication all 127.0.0.1/32 trust
суть проблемы в том что если поставить primary key - при попытке например вставить запись - будет бесконечный цикл ошибок, а если без primary key бесконечный рекурсинвый insert в обе базы
нагуглил решение BDR но оно только под linux и вроде как не поддерживает еще 10 версию.
Есть 3 сервера в разных городах, нужно чтобы запросы на изменение данных автоматом ложились на остальные 2 сервера, синхронно или асинхронно не суть важно.
Вопрос такой, есть ли способ корректно настроить двунаправленную репликацию postgre 10 под виндой без дополнительных утилит?