Cambiar parámetros de todo el clúster en Patroni (edit-config) y aplicar los reinicios pendientes
PostgreSQLPatroniComando
# 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 --forceQué hace
Escribe parámetros de PostgreSQL y Patroni en la configuración dinámica del DCS; Patroni aplica el cambio a todos los miembros, activa de inmediato los que admiten reload y marca como 'Pending restart' los que necesitan reinicio.
Cuándo usarlo
Para cambiar de forma coherente en todos los nodos de un clúster gestionado por Patroni parámetros como max_connections, shared_buffers o work_mem.
Precaución
Con Patroni, no edite postgresql.conf a mano ni use ALTER SYSTEM: Patroni reescribe postgresql.conf, y postgresql.auto.conf anula los ajustes de Patroni, lo que provoca diferencias entre nodos. max_connections, max_worker_processes, max_wal_senders, max_prepared_transactions y max_locks_per_transaction en un standby no pueden ser menores que en el primario; planifique el orden de reinicio en consecuencia.
Relacionado
- Mostrar el estado, la topología y el historial del clúster Patroni
- Realizar un switchover planificado con Patroni
- Realizar un failover manual con Patroni
- Reconstruir una réplica dañada con Patroni (reinit)
- Poner Patroni en modo mantenimiento y salir de él (pause/resume)
- Comprobar la salud del DCS de Patroni (etcd/Consul) y de la REST API