DBAtlas · Atlas für Datenbankbetrieb

Clusterweite Parameter in Patroni ändern (edit-config) und ausstehende Neustarts anwenden

PostgreSQLPatroni

Befehl

# 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

Was es tut

Schreibt PostgreSQL- und Patroni-Parameter in die dynamische Konfiguration im DCS; Patroni wendet die Änderung auf alle Mitglieder an, aktiviert per Reload änderbare sofort und kennzeichnet solche, die einen Neustart brauchen, als 'Pending restart'.

Wann einsetzen

Um Parameter wie max_connections, shared_buffers oder work_mem auf jedem Knoten eines von Patroni verwalteten Clusters einheitlich zu ändern.

Vorsicht

Bearbeite unter Patroni postgresql.conf nicht manuell und nutze kein ALTER SYSTEM: Patroni schreibt postgresql.conf neu, und postgresql.auto.conf überschreibt die Einstellungen von Patroni, was zu Abweichungen zwischen den Knoten führt. max_connections, max_worker_processes, max_wal_senders, max_prepared_transactions und max_locks_per_transaction dürfen auf einem Standby nicht niedriger sein als auf der Primary; plane die Neustartreihenfolge entsprechend.

In DBAtlas öffnen →

Verwandte Einträge