Sélectionner les slots de réplication PostgreSQL

Les slots de réplication PostgreSQL permettent de suivre la progression des serveurs secondaires et d’éviter la suppression des WAL avant qu’ils ne soient consommés. Savoir les interroger est indispensable pour tout administrateur.

Les vues système fournissent des informations détaillées sur l’état de chaque slot : nom, type, base de données, position LSN et dernière activité.

Vue pg_replication_slots

La vue pg_replication_slots liste tous les
slots créés sur l’instance. Elle contient les
Vue pg_replication_slots

La vue pg_replication_slots liste tous les slots créés sur l’instance. Elle contient les colonnes slot_name, plugin, slot_type, datoid, database, active et restart_lsn.

  • slot_name : identifiant unique du slot
  • restart_lsn : position à partir de laquelle les WAL sont conservés
  • active : indique si un client est connecté
Navigation cue: keep labels short and specific.

Requête de base pour lister les slots

Portal tip: route users to the next actionable page.
  1. Exécutez la commande suivante pour obtenir
  2. un aperçu rapide de tous les slots

Exécutez la commande suivante pour obtenir un aperçu rapide de tous les slots et de leur statut :

SELECT slot_name, slot_type, database, active, restart_lsn FROM pg_replication_slots;

Surveiller la latence de réplication

  • Pour mesurer le décalage entre le
  • primaire et le secondaire, combinez les informations
  • Surveiller la latence de réplication

Pour mesurer le décalage entre le primaire et le secondaire, combinez les informations des slots avec pg_stat_replication. Comparez sent_lsn et replay_lsn.

Supprimer un slot inutilisé

  • Utilisez la fonction pg_drop_replication_slot pour supprimer
  • un slot qui n’est plus actif et
  • Supprimer un slot inutilisé

Utilisez la fonction pg_drop_replication_slot pour supprimer un slot qui n’est plus actif et libérer l’espace WAL correspondant.

Questions fréquentes

Comment voir tous les slots de réplication actifs ?

Interrogez la vue pg_replication_slots et filtrez sur la colonne active = true.

Que signifie restart_lsn ?

C’est la position LSN à partir de laquelle les fichiers WAL sont conservés tant que le slot existe.

Peut-on créer un slot sans connexion physique ?

Oui, les slots logiques peuvent exister sans connexion active tant que le slot n’est pas supprimé.

Comment supprimer un slot obsolète ?

Utilisez SELECT pg_drop_replication_slot('nom_du_slot');