Изменить параметры всего кластера в Patroni (edit-config) и применить ожидающие перезапуски
PostgreSQLPatroniКоманда
# Show the current dynamic configuration stored in the DCS:
patronictl -c /etc/patroni/patroni.yml show-config <cluster>
# Cluster-wide PostgreSQL parameter (distributed to all members):
patronictl -c /etc/patroni/patroni.yml edit-config <cluster> -p 'work_mem=64MB' -p 'max_connections=500' --force
# Patroni behavior parameter:
patronictl -c /etc/patroni/patroni.yml edit-config <cluster> -s 'maximum_lag_on_failover=1048576' --force
# Parameters requiring a restart are flagged as 'Pending restart':
patronictl -c /etc/patroni/patroni.yml list <cluster> -e
# Restart replicas first, then the leader:
patronictl -c /etc/patroni/patroni.yml restart <cluster> --role replica --pending --force
patronictl -c /etc/patroni/patroni.yml restart <cluster> --role leader --pending --forceЧто делает
Записывает параметры PostgreSQL и Patroni в динамическую конфигурацию в DCS; Patroni применяет изменение ко всем участникам, сразу активирует параметры, применяемые через reload, и помечает требующие перезапуска как 'Pending restart'.
Когда использовать
Чтобы согласованно изменить на каждом узле кластера под управлением Patroni параметры, такие как max_connections, shared_buffers или work_mem.
Внимание
Под Patroni не редактируйте postgresql.conf вручную и не используйте ALTER SYSTEM: Patroni перезаписывает postgresql.conf, а postgresql.auto.conf переопределяет настройки Patroni, что приводит к расхождению между узлами. max_connections, max_worker_processes, max_wal_senders, max_prepared_transactions и max_locks_per_transaction на standby не могут быть ниже, чем на primary; планируйте порядок перезапуска соответственно.
Связанные материалы
- Показать состояние, топологию и историю кластера Patroni
- Выполнить плановый switchover через Patroni
- Выполнить ручной failover через Patroni
- Пересоздать сломанную реплику через Patroni (reinit)
- Перевести Patroni в режим обслуживания и обратно (pause/resume)
- Проверить работоспособность DCS Patroni (etcd/Consul) и REST API