2015-05-02 3 views
3

Я сделал резервную копию базы данных, используемой для приложения, когда мы обновляем ее функции в новой версии. Старое приложение и новое приложение работают отдельно с отдельными базами данных.Синхронизация двух баз данных PostgreSQL, поддерживаемых отдельно для приложения

Согласно требованию, теперь нам необходимо синхронизировать всех пользователей между обеими базами данных. Проблема в том, что в обеих базах данных существует множество зависимых таблиц. Какой лучший подход к синхронизации баз данных?

Любая помощь в этом отношении очень полезна.

Редактировать

В начальном нашем приложении были с более старой версией, когда мы его обновлением до новой версии с новым дизайном, мы взяли резервную копию наших старой базы данных и начали новый с этими старой базой данных. В среднем мы продолжили работу как с приложениями, так и с новыми пользователями, присоединившимися к старой версии, даже после выпуска нового сайта. Итак, теперь оба приложения продолжались довольно долгое время, теперь пользовательская база увеличивается с обеих сторон в соответствии с требованием мы должны объединить обе базы данных и закрыть старое приложение.

Здесь пользовательская таблица связана с несколькими другими таблицами, которые поддерживают свои планы подписки, их профили, их количества игровых ..etc

+0

как насчет [dblink postgres] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=dblink%20postgres) или [Заграничные обертки данных] (https : //www.google.com/webhp? sourceid = chrome-instant & ion = 1 & espv = 2 & ie = UTF-8 # q = foreign% 20data% 20wrapper% 20postgresql) –

+0

Привет, Vivek, спасибо за ответ, но мы не используем никаких dblink, потому что я не пытался одновременно использовать две базы данных, я хочу синхронизировать две базы данных той же структуры базы данных, но содержит разные данные. Другими словами, я хочу объединить обе базы данных в одну. – sravan44

+0

@a_horse_with_no_name Это мертвая ссылка – Patrick

ответ

0

Учитывая, что это разные версии приложения и могут иметь различные схемы таблиц с течением времени, Я думаю, что ваш лучший вариант: COPY все необходимые таблицы с каждой стороны, обрабатывать их в автономном режиме, а затем загружать новые строки с помощью внешней утилиты.

Теоретически вы можете делать все это изнутри базы данных и даже использовать Bucardo FDW, но серьезной проблемой, которую вы будете иметь в этих случаях, является тот факт, что это становится хрупким, если изменяется схема нового приложения.

Смежные вопросы