Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for PostgreSQL
  • Начало работы
    • Все инструкции
      • Получение информации об имеющихся кластерах
      • Создание кластера
      • Изменение настроек кластера
      • Остановка и запуск кластера
      • Управление хостами PostgreSQL
      • Миграция хостов в другую зону доступности
      • Управление слотами репликации
      • Управление резервными копиями
      • Управление политиками резервного копирования
      • Управление дисковым пространством
      • Техническое обслуживание
      • Обновление версии PostgreSQL
      • Удаление кластера
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Посмотреть список логических слотов репликации
  • Создать слот репликации
  • Удалить слот репликации
  • Пример
  1. Пошаговые инструкции
  2. Кластеры
  3. Управление слотами репликации

Управление слотами репликации

Статья создана
Yandex Cloud
Обновлена 25 ноября 2024 г.
  • Посмотреть список логических слотов репликации
  • Создать слот репликации
  • Удалить слот репликации
  • Пример

Кластер Managed Service for PostgreSQL может содержать физические и логические слоты репликации:

  • Физические слоты создаются сервисом автоматически на базе хостов-реплик и используются для репликации данных в рамках самого кластера Managed Service for PostgreSQL.
  • Логические слоты создаются пользователем и используются для логической репликации данных между кластерами, например при захвате изменений данных (CDC).

Подробности см. в документации PostgreSQL.

Посмотреть список логических слотов репликацииПосмотреть список логических слотов репликации

  1. Подключитесь к базе данных с помощью учетной записи пользователя с ролью mdb_replication.

  2. Выполните SQL-запрос:

    SELECT * FROM pg_replication_slots WHERE slot_type='logical';
    

    Запрос возвращает таблицу всех логических слотов репликации с их параметрами.

Создать слот репликацииСоздать слот репликации

  1. Задайте максимальный размер WAL при репликации в настройке Max slot wal keep size.

    Важно

    При значении настройки -1 (размер не ограничен) открытые логические слоты репликации, из которых не считывается информация, будут препятствовать удалению WAL-файлов. В результате WAL-файлы займут все дисковое пространство, и вы потеряете возможность подключаться к кластеру.

  2. Подключитесь к базе данных с помощью учетной записи пользователя с ролью mdb_replication.

  3. Выполните SQL-запрос:

    SELECT pg_create_logical_replication_slot 
    ( '<имя_слота>', '<имя_плагина>', <temporary>, <two_phase> )
    

    Где:

    • <имя_слота> — уникальное имя слота. Обязательный параметр.
    • <имя_плагина> — имя плагина из списка поддерживаемых выходных плагинов. Список см. в разделе Репликация. Обязательный параметр.
    • temporary — если выбрано значение true, слот будет удален по окончании текущей сессии или при возникновении ошибки. По умолчанию false.
    • two_phase — если выбрано значение true, слот будет декодировать подготовленные транзакции. По умолчанию false.

Удалить слот репликацииУдалить слот репликации

  1. Подключитесь к базе данных с помощью учетной записи пользователя с ролью mdb_replication.

  2. Выполните SQL-запрос:

    SELECT pg_drop_replication_slot ('<имя_слота>');
    

ПримерПример

Чтобы создать новый слот репликации с именем json_slot, который декодирует информацию об изменениях базы данных в формат JSON с помощью плагина wal2json:

  1. Убедитесь, что в настройке Max slot wal keep size задано значение, отличное от -1.

  2. Выполните SQL-запрос:

    SELECT pg_create_logical_replication_slot ( 'json_slot', 'wal2json', false, false );
    

    Вариант ответа:

    pg_create_logical_replication_slot 
    ------------------------------------
    (json_slot,1/92001108)
    (1 row)
    
  3. Убедитесь, что слот появился в списке:

    SELECT * from pg_replication_slots;
    

Если слот вам больше не нужен, удалите его:

SELECT pg_drop_replication_slot ('json_slot');

Была ли статья полезна?

Предыдущая
Миграция хостов в другую зону доступности
Следующая
Управление резервными копиями
Проект Яндекса
© 2025 ООО «Яндекс.Облако»