Конфигурационный файл patroni
Конфигурационный файл Patroni является центральным элементом, который задает настройки для управления кластером PostgreSQL с высокой доступностью. Он обычно представлен в формате YAML и включает параметры для взаимодействия с членами кластера, настройки репликации, подключения к DCS (Distributed Configuration Store), а также настройки для работы с сервисами, такими как etcd или Consul.
Основные секции конфигурационного файла Patroni:
scope
иname
:scope
: Имя кластера PostgreSQL. Все ноды в кластере должны иметь одинаковое имяscope
.name
: Уникальное имя для каждого экземпляра (ноды) Patroni. Обычно это имя сервера.
restapi
:- Настройки для REST API, которое предоставляет Patroni для мониторинга состояния кластера, выполнения failover’ов и других операций. Оно используется для взаимодействия между нодами.
- Настройки для REST API, которое предоставляет Patroni для мониторинга состояния кластера, выполнения failover’ов и других операций. Оно используется для взаимодействия между нодами.
etcd
или другой DCS (например, Consul):- Настройки для взаимодействия Patroni с распределенным хранилищем конфигураций (DCS). Здесь вы указываете, какой сервис используется для хранения состояния кластера и его конфигурации.
- Настройки для взаимодействия Patroni с распределенным хранилищем конфигураций (DCS). Здесь вы указываете, какой сервис используется для хранения состояния кластера и его конфигурации.
postgresql
:- Это самая большая и важная секция, которая включает параметры для настройки самого PostgreSQL. Включает параметры подключения, настройки репликации и recovery.
Пример:
authentication
: Настройки для пользователей PostgreSQL, таких как суперпользователь и репликатор.parameters
: Параметры конфигурации PostgreSQL (например,max_connections
,shared_buffers
).
bootstrap
:- Используется для инициализации новой ноды кластера. Это может включать создание суперпользователя и начальной базы данных.
Пример:
pg_hba
: Настройки для файла pg_hba.conf, который контролирует доступ к базе данных.initdb
: Параметры инициализации новой базы данных.users
: Создание пользователей при инициализации.
tags
:- Теги, которые позволяют отмечать роли ноды в кластере, например, быть ли ноде кандидатом на роль мастера.
- Теги, которые позволяют отмечать роли ноды в кластере, например, быть ли ноде кандидатом на роль мастера.
Пример полного файла конфигурации:
Как настроить конфигурацию:
- Настройка DCS: Это критически важно для Patroni. Вы должны указать корректные параметры для etcd, Consul или другого DCS.
- Репликация: Убедитесь, что пользователи для репликации правильно настроены, и файл
pg_hba.conf
разрешает репликацию. - Параметры PostgreSQL: Все параметры конфигурации PostgreSQL задаются в секции
postgresql.parameters
. Например, настройки для режима реплики, количества соединений и кэширования.
Использование Patroni с TLS:
Если вы хотите использовать TLS для защиты данных, передаваемых между нодами, вы можете добавить соответствующие сертификаты в конфигурацию PostgreSQL в Patroni:
Конфигурационный файл Patroni — это гибкий инструмент для настройки и управления кластерами PostgreSQL с высокой доступностью.
Recommended Posts
SKIP LOCKED в PostgreSQL
27.08.2024
Transactional Outbox таблица PostgreSQL
23.04.2024