Postgresql replication (Add column to replicated table)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

pahan40
Сообщения: 40

Postgresql replication

Сообщение pahan40 »

Собственно ситуация следующая: есть мастер сервер и есть слэйв сервер, с мастер сервера происходит репликация на слэйв сервер с помощью Slony-I. Но тут разработчики добавили в одну из таблиц две новых колонки, соответственно они не на слэйв сервер не зареплицировались,. и мы задались вопрос, а как вообще поступать в подобных ситуациях - всё должно работать автоматически- при создании на мастер сервере нового столбца в таблице должна происходить репликация столбца и его содержимого на слэйв сервер. Было решено воспользоваться pgpool , который и был с успехом настроен ( хотя нервов потрепал израдно из за аутентификации пользователе) и всё уперлось в то, что Slony на слэйв сервере блокирует таблицы реплицируемой базы и чтоли добавить в эти таблицы не представляется возможным. Отсюда возникает вопрос: как с этим справляться, желательно средствами Slony-I, но так же сейчас думаем посмотреть в сторону SkyTools.
Спасибо сказали:
Аватара пользователя
Ariasp
Сообщения: 254
Статус: NixLander

Re: Postgresql replication

Сообщение Ariasp »

pahan40 писал(а):
26.03.2009 15:47
Но тут разработчики добавили в одну из таблиц две новых колонки, соответственно они не на слэйв сервер не зареплицировались,. и мы задались вопрос, а как вообще поступать в подобных ситуациях - всё должно работать автоматически- при создании на мастер сервере нового столбца в таблице должна происходить репликация столбца и его содержимого на слэйв сервер.

А чего вы собственно ждали от trigger-based репликации -- она естесственно может работать только с DML-запросами (insert\update\delete), с DDL (alter, create и т.п.) она работать не сможет (т.к. не существует триггеров on alter и т.п.). Как поступать в подобных ситуациях - для trigger-based репликации только сначала создавать доп-колонки в обеих базах (скриптом либо вручную), и только потом наполнять их данными на мастере.
всё уперлось в то, что Slony на слэйв сервере блокирует таблицы реплицируемой базы и чтоли добавить в эти таблицы не представляется возможным.

Что мешает удалить (или хотя бы за-disable-ть) блокирующие триггеры?
Спасибо сказали:
pahan40
Сообщения: 40

Re: Postgresql replication

Сообщение pahan40 »

Вообщем после длительных мучений со Slony было решено использовать Londiste, который уже настроен и работает так как нам нужно.
Спасибо сказали: