title

text

Александр Кукушкин
Александр Кукушкин Zalando SE Database Engineer
18:00 20 июня
45 мин

Как Patroni решает проблему потери слотов логической репликации?

Более семи лет назад вышел PostgreSQL 9.4, в котором впервые появились функции логического декодирования и слоты репликации. И, спустя несколько лет, на базе этих функций в PostgreSQL 10 наконец то появилась поддержка логической репликации встроенная в ядро. Казалось бы, наступило солнечное будущее к которому мы так долго шли, если бы не пара неприятных моментов: логическая репликация не работает на репликах, плюс в PostgreSQL нет механизмов создания логических слотов на реплике. Это означает что при переключении мастера на новый узел слоты репликации теряются и на практике делает невозможным использование логической репликации и CDC для серьезных промышленных решений.

Postgres-hackers уже много лет пытаются найти решение данной задачи, но к сожалению большинство попыток и горяих дискуссий в рассылке не привели ни к чему конкретному. Но, оказывается в PostgreSQL 11 была добавлена одна маленькая функция, которая позволила решить проблему потери слотов логической репликации с помощью внешних инструментов.

В докладе я расскажу как Patroni решает данную проблему используя исключительно на возможности PostgreSQL. Мы поговорим о плюсах и минусах данного решения, и попытаемся понять безопасно ли это немного погрузившись во внутренности Postgres.

Видео

Видео доступно только участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Юрий Жуковец
    Юрий Жуковец Digital Design / Docsvision Руководитель экспертной группы
    22 мин

    Временные таблицы как наследие перехода с MS SQL. Проблемы, оптимизация, подходы

    Использование временных таблиц в PG несет дополнительные проблемы использования ресурсов сервера и скорости работы запросов. Но бывает, что без них никак не обойтись, особенно при миграции кода с MS SQL, если первичный код их активно использовал при наличии логики на уровне БД. Доклад посвящен проблемам использования временных таблиц при переходе с MS SQL и подходам к их решению стандартными возможностями PG в зависимости от сценариев в коде.

  • Павел Лузанов
    Павел Лузанов Postgres Professional Руководитель образовательных программ
    45 мин

    PostgreSQL 15: MERGE и другие

    Заморозка кода 15-й версии была в апреле, первая бета-версия PostgreSQL 15 уже доступна. Кратко расскажу о самых интересных новинках версии. В том числе о MERGE, команде с не простой историей реализации.

  • Павел Толмачев
    Павел Толмачев Postgres Professional Специалист образовательного отдела
    45 мин

    Коллапс в планах запросов. Достигаем и управляем

    Чем больше таблиц участвует в запросе, тем сложнее планировщику выбрать подходящий план выполнения (увеличивается время и используемая память). Как бы подсказать планировщику, что лучше эту пару таблиц соединить первой, а остальные - потом? Как поступить, если видно, что часть запроса можно улучшить, но оптимизатор этого не делает? В докладе я расскажу про управление порядком соединений - вы узнаете, как можно повлиять на формирование плана запроса стандартными способами "ванильного" PostgreSQL.

  • Bruce Momjian
    Bruce Momjian EnterpriseDB Senior Database Architect
    45 мин