Réplication Synchrone et asynchrone
Bonjour
J'ai une architecture postgreSQL 9.6 suivante : un primaire le seul qui peut accepter les écritures, un standby en mode synchrone, et un autre standby asynchrone.
je suis en train de faire des tests afin de trouver la bonne architecture à mettre en place en Prod.
le test : j'arrête postgresql sur le standby synchrone et je laisse le standby asynchrone up, et je passe une insertion (INSERT) sur le primaire.
résultat : INSERT est en attente sur le primaire, mais il est bien passé sur le standby asynchrone.
quand je fais un CTL c pour annuler ou arrêter l'INSERT sur le primaire, voici le message que postgres m'affiche :
Citation:
ATTENTION: annulation de l'attente pour la réplication synchrone à la demande de l'utilisateur
DÉTAIL : La transaction a déjà enregistré les données localement, mais il se peut que
cela n'ait pas été répliqué sur le serveur en standby.
MAIS l'INSERT est bien passé sur le primaire avec un standby synhrone down.
Ma question est la suivante : est ce qu'il y a un moyen ou un paramètre postgresql (timout) qui permet de valider une transaction sur un primaire si le standby synchrone ne répond plus.( le même cas de mon test mais sans intervenir avec CTL C).
Mon idée, c'est de ne pas bloqué une insertion sur un primaire quand le standby synchrone ne répond plus.
je ne veux pas mettre dans mon architecture deux standby synchrone avec ANY dans le paramètre synchronous_standby_names
Merci de votre aide.