Skip to content

PostgreSQL HA

Replication creates standbys. High Availability watches them, and promotes one to primary automatically when the primary fails.

Muppy builds this on pglookout (github.com/aiven/pglookout).

How it works

Muppy installs a pglookout daemon on each cluster of the RCS. Every daemon polls every cluster in the set at a fixed interval and works out which standby is best placed to take over. When the primary stops answering, and after a configurable delay, pglookout promotes that candidate.

Every HA event is logged in Muppy.

pglookout principle

Three distinct functions:

  1. Collect replication statistics.
  2. Evaluate them to pick the best primary.
  3. Fail over automatically when needed — and this third one can be switched off during maintenance, or while you tune the HA parameters.

Everything is driven from the RCS form.

The High Availability tab of an RCS

# Control
1 Activate High Availability / Deactivate High Availability — install or remove the daemons
2 HA status indicator (active or inactive)
3 HA Events Log — open the event log
4 Update Repl. Stats — refresh cluster replication statistics from the daemons
5 Auto. Failover deactivated? — automatic failover switch
6 pglookout Heartbeat switch
7 Check all Daemons — probe the daemons and refresh their status
8 The daemon list; click a line for its detail
9 Common HA parameters
10 Advanced HA parameters
11 Reconfigure all daemons — apply changed parameters

Success

Every HA parameter carries inline help. Use it.

Rollout

  1. Configuration
  2. Enable / Disable
  3. Monitoring

Muppy also watches daemon and cluster availability through pglookout Heartbeat.