URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1277
[ Назад ]

Исходное сообщение
"Организация репликации для Postgres "

Отправлено shricke , 15-Янв-03 14:38 
Организация репликации для Postgres
Нужно следующее: есть два сервера с базами Postgres, которые между собой синхронизируются, то есть обе базы в любой момент содержат между собой одну и ту же информацию, но запросы на выборку идут к одному серверу, если он выходит из строя то на другой.
Нужны 2 вещи:
1. репликация для постгреса
2. автоматическая машрутизация между двумя серверами
Может у кого-то возникала такая задача?

Содержание

Сообщения в этом обсуждении
"RE: Организация репликации для Postgres "
Отправлено tramp , 15-Янв-03 22:42 
>1. репликация для постгреса
У нас сделано так:
- На ведущем сервере (или где-нибудь в сети) крутится демон (серверная программа). Он может соединиться с БД, опросить специальную таблицу, в которой сохраняются логи изменений реплицируемых таблиц, выбрать данные и передать их клиенту.
- На ведомой машине есть клиент, который, например, по крону соединяется с сервером и требует передать ему текущие изменения. По получении обновляет таблицы ведомой БД.
- В БД на ведущем сервере таблицах, которые нужно реплицировать, есть триггеры, которые при модификации таблиц (insert,update, delete) помещают в специальную таблицу запись с id модифицированной записи, наименованием таблицы, типом изменения, датой и т.д.
Вот, собственно, и все.

Чтобы обеспечить целостность ведомой БД, процедура репликации выполняется в транзакции (2-фазной). У меня есть схемы организации такой транзакции в MS Visio. Но главная сложность - в серверном демоне и клиентской программе. Здесь я использую свою собственную библиотеку (объектный интерфейс удаленных вызовов) на основе сокетов с установлением соединения. Выложить ее для общего использования еще не готов :) Думаю, здесь можно использовать что-то еще, например, RPC, какой-нибудь ORB (TAO, ACE).


"RE: Организация репликации для Postgres "
Отправлено uldus , 16-Янв-03 10:58 
>Организация репликации для Postgres

Первая ссылка при поиске по ключам "postgresql replication":
http://www.opennet.me/base/dev/sql_relication.txt.html