# PostgreSQL Replication

## Introduction

Muppy permet de gérer la **Replication** entre Clusters aussi appelée **Streaming Replication**.

La Streaming Replication consiste à répliquer un Cluster dit Primary sur un ou plusieurs Clusters dit Standby. Le **Primary Cluster** gère des transactions en lecture et en écriture. Les **Clusters Standby** sont disponibles pour des transactions en lecture uniquement.

{% hint style="info" %}
Pour désigner un groupe de Clusters répliqués entre eux, Muppy utilise le terme de **Replicated Cluster Set ou RCS.** Les RCS gérés par Muppy sont accessibles via le menu **Muppy / Databases / PostgreSQL / Replicated Cluster Set (RCS).**
{% endhint %}

![Un Replicated Cluster Set ou RCS](/files/U91mVih0fJglIiwYv8QU)

{% hint style="danger" %}
Le but de la Replication est de garantir que les **Standbys** sont des copies parfaites du **Primary.** Ceci inclut les fausses manipulations type DROP DATABASE... \
La **Replication** ne dispense donc pas de réaliser des Backups réguliers.

Muppy permet de mettre en oeuvre 2 technologies de Backups complémentaires à la Réplication:

* Les **Database Backups (pg\_dumps)** de l' App **PostgreSQL Base**
* Le Backup Continu de l'App **PostgreSQL PITR / wal-g**
  {% endhint %}

## Mise en oeuvre de la Replication

Muppy permet de réaliser les opérations suivantes relatives à la Replication:

* Créer un RCS
* Visualiser un RCS
* Suivre la Replication
* Ajouter des Standbys
* Restructurer un RCS (changer le Primary, promouvoir un standby en Cluster autonome)

Muppy dispose d'un système de callback et de notifications qui permet de l'intégrer avec les Applications ou les orchestrateurs.

Enfin, vous pouvez ajuster la configuration d'un RCS en cours de fonctionnement.

## Tutoriel Video

{% embed url="<https://youtu.be/snwEz_e8yNU?si=oNe02rrWl7Q9Vt6g>" %}


---

# 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-replication.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.
