Репликация мастер-мастер (мастер-слейв) PostgresQL только с 1 внешним IP?
Задача такая.
Есть БД на сервере у которого есть внешний IP.
В этой БД хранятся какие-то результаты и через сайт их можно просматривать.
Потом я еду с другим сервером в поле, где есть интернет по схеме.
1. Провод пришел в здание
2. Его подключаю к маршрутизатору
3. От маршрутизатора расходятся провода на другите маршрутизаторы
4. Конечный пункт в поле, который оканчивается проводом в который я подключаю коммутатор (без возможности пробросов и тд)
5. От этого коммутатора провод идет в сервер(в поле)
Т.е. возможности сделать проброс портов - отсутствует.
На этом сервере крутится такая же БД, но в нее приходят результаты и она должны среплецироваться на БД, которая в "интернете".
Есть ли возможность настроить такую репликацию ?
Знаю, что в MSSQL есть такая возможность, там главное, чтобы у 1 из серверов был IP и со второго ты к нему устанавливаешь коннект и они по этому коннекту реплицируются, есть ли что-то подобное для PG ?
Причем хочется, что бы в момент, когда я в "поле" мастером была БД, которая в "поле", а когда не в поле, то мастер - это БД в интернете.
Хочу получить отражение результатов с на сайте, в то время, когда сами результаты получаются в поле, а там интернет в любое время может отвалиться и показывать оттуда - не вариант.
Поэтому надо собирать их на поле и по возможности показывать в интернете.
ну если еще и интернет может отвалиться тогда про репликацию забудьте. пишите приложение которое накапливает и периодически сливает данные в базу которая не в поле. в поле вся база не нужна.
В поле то как раз вся база нужна.
Там и регистрация и результаты и то, что в итоге должно попасть на сайт, а что нет.
А почему вдруг, если инет отвалился, то сразу забыть про репликацию ? :)
Репликация не равно стабильный интернет :)
Она и едет в поле только для того, чтобы даже если пропадет интернет, то была и дальше возможность проводить регистрацию, редактирование и запись результатов с выводом для всех.
у постгри нет мультимастера, мастер всегда кто-то один, а все остальные read-only. пишите нечто своё которое будет уметь скидывать свежие данные в общую базу.
Мульти-мастера нет, но всегда можно сделать кнопочку "я поехал в поле"
Которая будет
1. БД в инете делать слейвом.
2. БД в поле делать мастером
и кнопочку "я приехал с поля", которая будет делать наоборот.
Тут дело в том как быть IPами, если есть только 1 реальный к которому можно постучаться по порту и он Слейв будет.
вы всегда постучавшись по этому порту можете организовать тоннель в обе стороны, в этом не проблема :) а по нему уже хоть что, хоть репликацию хоть торренты :)