# PostgreSQL HA

Tandis que la PostgreSQL Replication permet de créer des Clusters Replica d'un Primary, PostgreSQL HA permet de surveiller les Clusters d'un RCS et de promouvoir automatiquement un nouveau Primary en cas de défaillance du Cluster Primary.

Muppy utilise **pglookout** (<https://github.com/aiven/pglookout>) pour gérer la HA des RCS.

## Présentation de Muppy PostgreSQL HA

Muppy installe un process **pglookout** (au minimum) sur chaque Cluster du RCS. Chaque process (ou Daemon) pglookout se connecte à intervalle régulier à tous les clusters du RCS et évalue celui dont le décalage en fait le meilleur candidat pour devenir le futur **Primary**. En cas de défaillance du **Primary**, à l'issue d'un délai paramétrable, pglookout déclenche la promotion du meilleur candidat en **Primary**. Tous les évènements liés à la HA sont journalisés dans Muppy.

![Schéma de principe pglookout](/files/owXy7BoJX3zT1h6THWHh)

Plus précisément PostgreSQL HA est implémenté via 3 fonctionnalités:

* Collecter les statistiques de Replication
* Evaluer ces statistiques pour déterminer le meilleur Primary
* Réaliser automatiquement un Failover quand c'est nécessaire
  * Cette fonctionnalité peut être désactivée pendant les maintenances ou pour régler les paramètres de la HA.

Toutes ces fonctionnalités sont gérées depuis le formulaire des RCS Muppy.

![](/files/p4RbyLA3N8AERe6obPSa)

L'interface de gestion de la HA est constitué de (cf. schéma):

1. Les boutons **Deactivate ou Activate High Availability** qui permettent d'installer ou désinstaller la High Availability
2. L'indicateur de statut de la **High Availability** (Active ou Inactive)
3. Ouvre le journal des évènements de la **High Availability**
4. Met à jour les statistiques de Réplication des Clusters à partir des daemons **pglookout**
5. Contrôle du Failover automatique
6. Contrôle de la surveillance des **daemons pglookout** par Muppy
7. Lance une vérification de l'état des **Daemons pglookout** et actualise la liste des daemons pglookout avec le résultat
8. La liste des **daemons pglookout.** Chaque ligne permet d'accéder au détail d'un daemon
9. Les paramètres courants de la High Availability
10. Les paramètres avancées de la High Availability
11. Permet de lancer la reconfiguration de tous les daemons pglookout en cas de modification des paramètres de la High Availability.

{% hint style="success" %}
N'hésitez pas à consulter l'aide contextuelle disponible sur les paramètres de la HA.
{% endhint %}

## Mise en oeuvre

Les étapes de la mise en oeuvre de Muppy PostgreSQL HA sont:

* Configuration&#x20;
* Activation
* Monitoring&#x20;
* Désactivation

Enfin, Muppy implémente un mécanisme de la disponibilité des **daemons pglookout** et des Clusters nommé **pglookout Heartbeat**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.muppy.io/guides/postgresql/postgresql-ha.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
