Параметр use_pg_rewind в конфиге Patroni
Параметр use_pg_rewind
в конфигурационном файле Patroni используется для активации утилиты pg_rewind
. Эта утилита в PostgreSQL предназначена для ускоренного восстановления узла после фейловера.
Что делает pg_rewind
:
Когда узел в кластере PostgreSQL отстает от текущего мастера (например, из-за фейловера), традиционно для его синхронизации требовалось выполнять полную репликацию с мастера. Это может быть ресурсозатратно и медленно, особенно если база данных большая.
pg_rewind
позволяет избежать полной синхронизации. Он использует WAL (журнал транзакций) для перемотки отставшего узла к состоянию, которое будет совместимо с текущим мастером. Это значительно ускоряет процесс восстановления узла.
Когда использовать:
- Фейловер или переключение ролей: После фейловера бывший мастер может быть восстановлен как реплика при помощи
pg_rewind
, без полной повторной инициализации. - Минимизация простоя: Использование
pg_rewind
ускоряет синхронизацию, что полезно для минимизации времени простоя в кластере с высокой доступностью.
Пример использования в Patroni:
1 2 3 4 5 |
bootstrap: dcs: postgresql: use_pg_rewind: true # Включение использования pg_rewind |
use_pg_rewind
включен, Patroni будет автоматически использовать pg_rewind
для восстановления узла после переключения ролей или фейловера, что уменьшает время восстановления и повышает общую производительность кластера.
Recommended Posts
Пояснение конфига для Pgbouncer
12.02.2024
Конфигурационный шаблон jinja2 для Patroni
11.02.2024