0% ont trouvé ce document utile (0 vote)
56 vues3 pages

Cours Sur La Réplication PostgreSQL

La réplication PostgreSQL permet de copier des données d'un serveur principal vers des serveurs secondaires pour assurer la disponibilité et la tolérance aux pannes. Il existe deux types de réplication : asynchrone, qui privilégie la performance mais peut entraîner des pertes de données, et synchrone, qui garantit l'intégrité des données mais peut augmenter la latence. Le choix entre ces modes dépend des besoins spécifiques de l'application.

Transféré par

molka.kharrat2197
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
56 vues3 pages

Cours Sur La Réplication PostgreSQL

La réplication PostgreSQL permet de copier des données d'un serveur principal vers des serveurs secondaires pour assurer la disponibilité et la tolérance aux pannes. Il existe deux types de réplication : asynchrone, qui privilégie la performance mais peut entraîner des pertes de données, et synchrone, qui garantit l'intégrité des données mais peut augmenter la latence. Le choix entre ces modes dépend des besoins spécifiques de l'application.

Transféré par

molka.kharrat2197
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Cours sur la Réplication PostgreSQL

1. Introduction à la Réplication PostgreSQL


La réplication dans PostgreSQL est un mécanisme permettant de copier des données d'un
serveur principal (primary) vers un ou plusieurs serveurs secondaires (replicas). Ce processus
assure la disponibilité des données et peut être utilisé pour la répartition de charge, la
tolérance aux pannes ou la sauvegarde.

2. Types de Réplication PostgreSQL


a) Réplication Asynchrone

 Le primaire envoie les journaux de transactions (WAL) au réplica sans attendre de


confirmation.
 Si le primaire tombe en panne avant la transmission complète des WAL, des pertes de
données peuvent survenir.
 Utilisé pour des systèmes où la performance est plus importante que la cohérence
immédiate.

b) Réplication Synchrone

 Le primaire attend la confirmation du réplica avant de valider une transaction.


 Aucune perte de données, car la transaction est confirmée sur au moins un standby
avant d'être validée.
 Peut entraîner une latence plus élevée car le primaire doit attendre la réponse du
réplica.

3. Identifier le Mode de Réplication


Pour savoir si un serveur fonctionne en mode synchrone ou asynchrone, exécutez les
commandes suivantes sur le réplica :

a) Vérifier la configuration de la réplication


SHOW synchronous_standby_names;

 Si la valeur est vide ('') ou NONE, la réplication est asynchrone.


 Si des noms de standby apparaissent, la réplication est probablement synchrone.

b) Vérifier l'état du réplica


SELECT * FROM pg_stat_wal_receiver;

 Cette commande permet d'obtenir des informations sur le processus de réplication.


 Sur certaines versions de PostgreSQL, la colonne sync_state peut être absente.

c) Observer les journaux WAL


SELECT sent_lsn, write_lsn, flush_lsn, replay_lsn FROM pg_stat_replication;

 Si write_lsn, flush_lsn, et replay_lsn sont proches de sent_lsn, la réplication


est rapide et possiblement synchrone.

d) Vérifier la version de PostgreSQL


SELECT version();

 Certaines fonctionnalités de réplication peuvent varier selon la version de PostgreSQL


utilisée.

4. Explication de la Réplication Synchrone


Lorsqu’une transaction est exécutée sur le serveur primaire, voici le processus en mode
synchrone :

1. Le primaire écrit les données dans son journal WAL.


2. Il envoie ces modifications aux serveurs réplica configurés en standby.
3. Le réplica reçoit les données et les écrit dans son propre journal WAL.
4. Le réplica envoie un accusé de réception (ACK) au primaire pour confirmer la
réception.
5. Ce n'est qu'après avoir reçu cette confirmation que le primaire valide la transaction.

Ce mécanisme garantit qu'aucune donnée ne soit perdue en cas de panne, mais il peut ralentir
le système si le réplica est lent à répondre.

5. Avantages et Inconvénients des Modes de Réplication


Mode de
Avantages Inconvénients
Réplication
Rapide, faible impact sur la Risque de perte de données si le
Asynchrone
performance du primaire primaire tombe en panne
Assure l'intégrité des données,
Synchrone Augmente la latence des transactions
aucune perte en cas de panne

6. Dépannage des Erreurs Courantes


Erreur : terminating connection due to conflict with recovery

 Cette erreur signifie que le réplica tente de lire des données qui sont en cours de
suppression par le processus de réplication.
 Solutions possibles :
o Modifier la requête pour éviter les lectures concurrentes sur des tables en
récupération.
o Augmenter la durée de rétention des WAL (hot_standby_feedback = on
dans postgresql.conf).
Erreur : sync_state absent dans pg_stat_wal_receiver

 Sur certaines versions de PostgreSQL, cette colonne n’existe pas.


 Utilisez pg_stat_replication sur le primaire pour obtenir cette information.

7. Conclusion
La réplication PostgreSQL est un outil puissant pour assurer la disponibilité des données. Le
choix entre la réplication synchrone et asynchrone dépend des besoins de l'application :

 Si la performance est prioritaire : asynchrone


 Si l'intégrité et la cohérence des données sont essentielles : synchrone

Il est crucial de bien configurer et surveiller la réplication pour garantir un fonctionnement


optimal du système.

Vous aimerez peut-être aussi