PostgreSQL bloque sur un commit

Les utilisateurs n'aiment pas perdre de données
Répondre
Phil
Administrateur du site
Messages : 209
Enregistré le : mar. 1 sept. 2015 00:38
Localisation : France
Contact :

PostgreSQL bloque sur un commit

Message par Phil » mar. 21 août 2018 17:33

Merci à Vincent pour sa question :
PostgreSQL bloque sur un commit après la mise en place de la sauvegarde Barman alors que j'ai suivi https://pgphil.ovh/sauvegarde_10_23_01.php

Réponse :
Tout dépend de l'enchaînement des actions. Si le processus pg_receivewal est déjà lancé par Barman sans l'option --synchronous PUIS que le streaming synchrone est demandé au niveau de PostgreSQL (alter system set synchronous_standby_names = 'local_barman_receive_wal';) alors c'est un comportement documenté :
"Quand le client de réplication de pg_receivewal est configuré sur le serveur comme un standby synchrone, l'utilisation d'un slot de réplication renverra la position de vidage sur disque du serveur, mais seulement lors de la fermeture d'un fichier WAL. De ce fait, cette configuration entraînera que les transactions sur le primaire attendront un long moment, ce qui aura pour effet de ne pas fonctionner de manière satisfaisante. L'option --synchronous (voir ci- dessous) doit être ajoutée pour que cela fonctionne correctement. "

Dans ce cas, tuer le process pg_receivewal et refaire un barman cron va relancer pg_receiwal avec l'option --synchronous et tout rentre ensuite dans l'ordre.

Attention à la réplication synchrone, elle peut être pénalisante et il vaut mieux avoir plusieurs destinations pour éviter les problèmes de disponibilité.
Cdlt. Phil - pgphil.ovh

Répondre