Не могу понять, по какому принципу меняются конфигурации через edit-config.
patroni 3.2.1, postgresql 15, master-slave
Покажу проблему на примере параметра min_wal_size.
Выполняем show-config и видим текущий конфиг:
начальный конфиг
failsafe_mode: false
loop_wait: 10
maximum_lag_on_failover: 1048576
postgresql:
remove_data_directory_on_rewind_failure: true
use_pg_rewind: true
use_slots: true
primary_start_timeout: 60
retry_timeout: 10
synchronous_mode: false
ttl: 30
Далее добавляем через edit-config параметр
min_wal_size=1GB и сохраняем. При этом, данный параметр min_wal_size закомментирован в patroni.yml в отдельном разделе postgresql (в dcs его нет)!
изменения
failsafe_mode: false
loop_wait: 10
maximum_lag_on_failover: 1048576
postgresql:
parameters:
min_wal_size: 1GB
remove_data_directory_on_rewind_failure: true
use_pg_rewind: true
use_slots: true
primary_start_timeout: 60
retry_timeout: 10
synchronous_mode: false
ttl: 30
После чего делаем patronictl restart и видим, что ничего не поменялось, параметр min_wal_size выставлен как по умолчанию.
Я понимаю, что patroni.yml имеет больший вес и переопределяет параметры dcs, но ведь если этот параметр не указывать в patroni.yml, почему он не меняется через edit-config? с тем же max_connections все работает нормально, даже если он указан в patroni.yml и не закомментирован.