Postgresql replication (Add column to replicated table)
Модераторы: SLEDopit, Модераторы разделов
-
pahan40
- Сообщения: 40
Postgresql replication
Собственно ситуация следующая: есть мастер сервер и есть слэйв сервер, с мастер сервера происходит репликация на слэйв сервер с помощью Slony-I. Но тут разработчики добавили в одну из таблиц две новых колонки, соответственно они не на слэйв сервер не зареплицировались,. и мы задались вопрос, а как вообще поступать в подобных ситуациях - всё должно работать автоматически- при создании на мастер сервере нового столбца в таблице должна происходить репликация столбца и его содержимого на слэйв сервер. Было решено воспользоваться pgpool , который и был с успехом настроен ( хотя нервов потрепал израдно из за аутентификации пользователе) и всё уперлось в то, что Slony на слэйв сервере блокирует таблицы реплицируемой базы и чтоли добавить в эти таблицы не представляется возможным. Отсюда возникает вопрос: как с этим справляться, желательно средствами Slony-I, но так же сейчас думаем посмотреть в сторону SkyTools.
-
Ariasp
- Сообщения: 254
- Статус: NixLander
Re: Postgresql replication
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
Вообщем после длительных мучений со Slony было решено использовать Londiste, который уже настроен и работает так как нам нужно.