Логическая репликация PostgreSQL
Логическая репликация в отличии от физической копирует не сами данные, а sql выражения эти данные изменяющие.
- На мастере в
postgresql.conf
указатьwal_level="logical"
после чего перезапустить сервер. - На реплике выполнить следующие команды:
Первая перенесет пользователей и прочие глобальные объекты. Вторая схему данных.
- Подключившись на мастере к нужной бд создадим публикацию:
- На реплике создадим подписку
Причём health_sub
это имя слота на источнике репликации, а значит должно быть уникальным!
Репликация новых таблиц
Если после создания подписки на источнике появились новые таблицы то сначала необходимо создать на приемнике ту же таблицу (DDL), а затем выполнить команду:
команду следует выполнить от лица пользователя владельца подписки. Узнать его можно так: