Настройка синхронной репликации в PostgreSQL#

Последовательность выполнения#

Рекомендуется настроить синхронную репликацию через DropApp».

  1. Создайте на сервере-источнике публикацию для всех таблиц и слот репликации:

    Транзакции с таблицами не указанными в публикации не будут завершаться.

    CREATE PUBLICATION {имя_публикации} FOR ALL TABLES`;
    SELECT * FROM pg_create_logical_replication_slot('{имя слота}', 'pgoutput');
    
  2. Измените настройки в файле postgresql.auto.conf на сервере-источнике:

    alter system set synchronous_commit = remote_apply;
    alter system set synchronous_standby_names = '*';
    select pg_reload_conf();
    
  3. Запустите репликацию в консоли веб-интерфейса (UI) GraDeLy.

  4. Для проверки режима репликации на стороне БД-источника выполните запрос: SELECT usename , sync_state FROM pg_stat_replication;.

Для переключения в асинхронный режим измените настройки в файле postgresql.auto.conf на сервере-источнике:

alter system set synchronous_commit = on;
alter system set synchronous_standby_names = '';
select pg_reload_conf();

Результат#

На модуле Capture отображается Графы репликации, Синхронный режим:

Графы репликации, Синхронный режим