PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 08/06/2012 09:25:59

roya
Membre

Streaming replication et archivage des WAL par log-shipping

Bonjour,

Je suis novice sur la fonctionnalités de Streaming replication de PostgreSQL 9.1 et j'ai dû mal à comprendre l'utilisation du Hot Standby couplé avec la Streaming Replication.

Je m'explique : si le serveur esclave est en Hot Standby et que la réplication est activée, les WAL seront archivés par le mécanisme de Hot Standby et en plus les modifications seront directement récupérées du maître via une connexion TCP via le streaming replication.
Est-ce correct ?

D'où mes questions :
- Est-ce que le serveur esclave doit forcément être en Hot Standby ?
- A quoi sert l'archivage des WAL, sachant que la base de standby est mise à jour par le mécanisme de réplication ?
- Dans quel cas est-il utile de réappliquer les WAL archivés sur le serveur esclave ?

Dans le Wiki "PITR, Warm Standby, Hot Standby, and Streaming Replication", j'ai lu que : "Streaming replication does not require log shipping in normal operation. It may, however, require log shipping to start replication, and can utilize log shipping in order to catch up standbys which fall behind. " mais ces lignes ont ajoutées de la confusion à la confusion et j'espère que vous pourrez m'aider à bien comprendre les notions de Hot Standby et Streaming Replication.

Par avance merci.

Hors ligne

#2 08/06/2012 09:37:25

rjuju
Administrateur

Re : Streaming replication et archivage des WAL par log-shipping

Bonjour,
le hot standby veut dire que l'on peut se connecter en lecture seule sur l'esclave (par opposition au warm standby).
C'est donc facultatif, selon vos besoin (répartition de charge, reprise sur incident...).


Les wal sonts utilisés si le delta de modification entre le maître et l'esclave est trop important. Dans ce cas le réplication ne se fait plus par streaming replication mais par log shipping, c'est à dire la récupération des wal qui seront alors rejoués sur l'esclave. Une fois le delta rattrapé, la streaming replication reprend alors.

Dernière modification par rjuju (08/06/2012 09:38:09)

Hors ligne

#3 08/06/2012 10:09:14

roya
Membre

Re : Streaming replication et archivage des WAL par log-shipping

Merci pour votre retour.
J'avais lu effectivement dans la doc PostgreSQL au chapitre 25.2.2. que le Hot Standby et la SR étaient liés dans la récupération des infos provenant des WAL mais je n'avais pas compris jusqu'à quel point.

Il me reste une question par rapport à ce que vous m'avez dit : si j'utilise la réplication sans le mécanisme de Hot Standby, est-ce que je pourrais promouvoir l'esclave en tant que maitre si ce dernier n'est plus accessible ?

Hors ligne

#4 08/06/2012 10:11:42

gleu
Administrateur

Re : Streaming replication et archivage des WAL par log-shipping

si j'utilise la réplication sans le mécanisme de Hot Standby, est-ce que je pourrais promouvoir l'esclave en tant que maitre si ce dernier n'est plus accessible ?

Oui, bien sûr.


Guillaume.

Hors ligne

#5 08/06/2012 10:19:11

roya
Membre

Re : Streaming replication et archivage des WAL par log-shipping

Merci Guillaume pour votre réponse.
Donc si je "résume", la SR n'est pas forcèment associée au Hot Standby mais lorsque les 2 mécanismes fonctionnent, cela permet d'avoir un delta entre le serveur maitre et esclave beaucoup plus faible et donc 2 bases synchronisées.
Est-ce correct ?

Hors ligne

#6 08/06/2012 10:28:54

rjuju
Administrateur

Re : Streaming replication et archivage des WAL par log-shipping

Oui.
A noter que depuis la 9.1 vous pouvez choisir entre réplication synchrone ou asynchrone.

Hors ligne

#7 08/06/2012 11:05:43

roya
Membre

Re : Streaming replication et archivage des WAL par log-shipping

Merci à vous deux, vous m'avez aider à clarifier les notions.

Hors ligne

Pied de page des forums