gremlintv2
@gremlintv2

Postgresql-10 как работает логическая репликация из коробки(вопросы по теме под катом)?

Привет
Довольно поверхностно изучил матчасть - посмотрел примеры репликации одной таблицы (https://habr.com/company/pgdayrussia/blog/326996/)

Хотел бы поинтересоваться у людей которые имеют в этом опыт:
1) Можно ли создать логическую репликацию на уровне схемы (чтобы при создании новой таблицы в схеме она реплицировалась на слэйвы) или нужно для каждой новой таблицы создавать публикацию?
UPD: Здесь пишут, что нельзя реплицировать схему ("Does not replicate schema/DDL") Так ли это?
2) Связи между таблицами также будут реплицыроватся? (Понимаю что лучше все опробоавть на собственною шкуре, но думаю, что написать пару слов об этом вам не трудно будет, все таки - это ваш опыт. Было бы очень приятно если бы вы ним поделились. Спасибо.)

PS: цель которую преследую - логическая репликация нескольких схем БД со всеми таблицами и изменениями в них, так как всю БД реплицировать не целесообразно(такова специфика проекта).
  • Вопрос задан
  • 469 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
1) Можно ли создать логическую репликацию на уровне схемы

Нет.
Ответ есть даже в мануале: https://www.postgresql.org/docs/10/sql-createpubli...
Банально нет даже синтаксиса для создания публикации схемы.

2) Связи между таблицами также будут реплицыроватся?

Что вы имеете в виду?
DDL вы переносите на подписчиков сами. Реплицируются только данные
TRUNCATE and DDL operations are not published.

truncate начали реплицировать в pg11. Репликации DDL нет и не будет как минимум ещё в pg12, на данный момент нет ни черновых патчей ни даже обсуждений таковой реализации.

То есть так, как вы, видимо, хотите настроить паблишера и он сам всем будет заниматься - не выйдет.

PS: есть некоторая терминологическая путаница, как англоязычная так и русскоязычная, schema и схема как namespace или schema и схема говоря о структуре базы, т.е. DDL
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Мне кажется, вам больше подойдёт периодический бэкап схемы с последующим восстановлением на другом сервере.

Или вам данные тоже нужно переносить? Тогда, видимо, надо было с самого начала разделять по разным кластерам базы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы