DBAtlas · Atlas d'exploitation des bases de données

Modifier les paramètres du cluster dans Patroni (edit-config) et appliquer les redémarrages en attente

PostgreSQLPatroni

Commande

# 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

Ce que fait la commande

Écrit les paramètres PostgreSQL et Patroni dans la configuration dynamique du DCS ; Patroni applique le changement à tous les membres, active immédiatement ceux qui sont rechargeables et signale ceux qui exigent un redémarrage comme 'Pending restart'.

Quand l'utiliser

Pour modifier de façon cohérente sur chaque nœud d'un cluster géré par Patroni des paramètres comme max_connections, shared_buffers ou work_mem.

Attention

Sous Patroni, ne modifiez pas postgresql.conf à la main et n'utilisez pas ALTER SYSTEM : Patroni réécrit postgresql.conf, et postgresql.auto.conf prime sur les réglages de Patroni, ce qui crée des divergences entre nœuds. Sur une standby, max_connections, max_worker_processes, max_wal_senders, max_prepared_transactions et max_locks_per_transaction ne peuvent pas être inférieurs à ceux de la primaire ; planifiez l'ordre des redémarrages en conséquence.

Ouvrir dans DBAtlas →

Voir aussi