Les emplacements de réplication inactifs entraînent une accumulation continue des journaux de pré-écriture (WAL). Sans intervention, ces journaux saturent l'espace disque, verrouillent l'instance et bloquent toutes les requêtes d'écriture. Utilisez la fonctionnalité de gestion des journaux WAL pour identifier et supprimer les emplacements de réplication inactifs avant qu'ils n'affectent votre charge de travail.
Supprimez rapidement les emplacements de réplication inactifs. L'accumulation des journaux WAL peut provoquer la défaillance critique suivante :
Verrouillage de l'instance : Lorsque l'espace disque est saturé, l'instance passe en mode lecture seule et rejette toutes les requêtes d'écriture.
Les emplacements de réplication supprimés ne peuvent pas être réutilisés.
Contexte
Un emplacement de réplication suit la progression de la réplication et garantit la conservation des journaux WAL jusqu'à leur consommation par tous les abonnés. Cela permet d'éviter la perte de données lors de la réplication en flux continu.
Un emplacement devient inactif lorsque son abonné se déconnecte, est mal configuré ou présente un retard de réplication important. Tant qu'il est inactif, l'emplacement conserve indéfiniment les journaux WAL ; le processus de point de contrôle (checkpointer) ne peut pas les supprimer tant que l'emplacement n'est pas supprimé ou réactivé.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Une instance ApsaraDB RDS for PostgreSQL
L'accès à la console ApsaraDB RDS
Gérer les emplacements de réplication
Consulter les emplacements de réplication
Dans la console :
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve votre instance. Cliquez sur l'ID de l'instance.
Dans le volet de navigation de gauche, choisissez Logs > WAL Logs.
Sous l'onglet WAL File Management, consultez la liste des emplacements de réplication.
La colonne Whether Active (mappée au champ active) indique le statut de chaque emplacement. Les emplacements dont le statut est INACTIVE accumulent des journaux WAL.
Le tableau suivant décrit tous les champs de l'onglet WAL File Management.
| Colonne | **Champ dans pg_replication_slots** |
Description |
|---|---|---|
| Slot name | slot_name |
Le nom de l'emplacement de réplication. |
| Slot type | slot_type |
Le type d'emplacement de réplication : physical ou logical. |
| Plugin | plugin |
Le plugin de sortie utilisé par l'emplacement. ApsaraDB RDS for PostgreSQL prend en charge par défaut test_decoding, pgoutput et wal2json. |
| Temporary slot | temporary |
Indique si l'emplacement est temporaire. Un emplacement temporaire existe uniquement pour la session en cours et est automatiquement supprimé à la fin de la session. Valeurs : true (temporaire), false (permanent). |
| Database name | database |
La base de données où réside l'emplacement de réplication. |
| Accumulated WAL files | Calculé par AliPG | Le volume de journaux WAL accumulés pour l'emplacement, en Mo. Calculé à l'aide de pg_wal_lsn_diff(pg_current_wal_insert_lsn(), restart_lsn). |
| Logical subscription latency | Calculé par AliPG | Le retard de réplication sur le nœud abonné correspondant à cet emplacement, en secondes. Calculé à partir de pg_stat_replication. |
| Whether active | active |
Indique si l'emplacement est utilisé. Valeurs : ACTIVE, INACTIVE. |
Supprimer un emplacement de réplication inactif
Dans la console :
Sous l'onglet WAL File Management, localisez un emplacement dont le statut est
INACTIVEdans la colonne Whether Active.Si l'emplacement de réplication est toujours utilisé, modifiez son état pour le définir comme ACTIVE.
Si l'emplacement n'est plus nécessaire, cliquez sur Delete dans la colonne Actions.
Les emplacements de réplication actifs ne peuvent pas être supprimés.
Après la suppression, les journaux WAL retenus par l'emplacement sont automatiquement libérés et nettoyés par le processus de point de contrôle.
Notes d'utilisation
Les emplacements de réplication actifs ne peuvent pas être supprimés.
Un emplacement de réplication supprimé ne peut pas être réutilisé. Si la réplication est toujours nécessaire, créez un nouvel emplacement.
Paramètres associés
Les paramètres PostgreSQL suivants contrôlent la rétention des journaux WAL et le comportement des points de contrôle. Configurez-les dans les paramètres de l'instance.
| Paramètre | Description |
|---|---|
max_wal_size |
La taille des journaux WAL qui déclenche un point de contrôle. |
min_wal_size |
La taille minimale des journaux WAL conservés sur le disque pour une réutilisation lors d'un futur point de contrôle. Les journaux WAL inférieurs à ce seuil sont recyclés plutôt que supprimés. |
wal_buffers |
La quantité de mémoire partagée utilisée pour les données WAL non encore écrites sur le disque. |
Étapes suivantes
Référence API
DescribeSlots : Interroger tous les emplacements de réplication d'une instance.
DeleteSlot : Supprimer un emplacement de réplication d'une instance.