PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 16.2 » Internes » Vues système » pg_replication_slots

54.19. pg_replication_slots #

La vue pg_replication_slots fournit une liste de tous les slots de réplication qui existent actuellement sur l'instance, avec leur état courant.

Pour plus d'informations sur les slots de réplication, voir Section 27.2.6 et Chapitre 49.

Tableau 54.19. Colonnes de pg_replication_slots

Type

Description

slot_name name

Un identifiant unique au niveau de l'instance pour le slot de réplication

plugin name

Le nom de base de l'objet partagé contenant le plugin en sortie que ce slot logique utilise, NULL pour les slots physiques

slot_type text

Le type du slot - physical ou logical

datoid oid (référence pg_database.oid)

L'OID de la base de données avec laquelle ce slot est associée, ou NULL. Seuls les slots logiques ont une base de données associée

database name (référence pg_database.datname)

Le nom de la base de données avec laquelle ce slot est associée, ou NULL. Seuls les slots logiques ont une base de données associée.

temporary bool

True si c'est un slot de réplication temporaire. Les slots temporaires ne sont pas sauvegardés sur disque et sont automatiquement supprimés lors d'une erreur ou lorsque la session est terminée.

active bool

Vrai si ce slot est actuellement utilisé

active_pid int4

L'ID du processus de la session utilisant ce slot si le slot est actuellement activement utilisé. NULL si inactif.

xmin xid

La plus ancienne transaction dont ce slot a besoin, et que le serveur doit donc conserver. VACUUM ne peut pas traiter des lignes supprimées par des transactions plus récentes.

catalog_xmin xid

La plus ancienne transaction affectant les catalogues systèmes dont ce slot a besoin et que le serveur doit donc conserver. VACUUM ne peut pas traiter des lignes du catalogues supprimées par des transactions plus récentes.

restart_lsn pg_lsn

L'adresse (LSN) du plus ancien journal de transactions toujours requis par le consommateur de ce slot et qui, de ce fait, ne pourra plus être automatiquement supprimé pendant les checkpoints sauf si ce LSN est en retard de plus de max_slot_wal_keep_size à partir du LSN courant. NULL si le LSN de ce slot n'a jamais été réservé.

confirmed_flush_lsn pg_lsn

L'adresse (LSN) jusqu'où le consommateur de la réplication logique a confirmé avoir reçu les données. Les données correspondant aux transactions validées avant ce LSN ne sont plus disponibles. NULL pour les slots physiques.

wal_status text

Disponibilité des journaux de transactions nécessaires à ce slot. Les valeurs possibles sont :

  • reserved signifie que les journaux nécessaires sont contenus dans max_wal_size.

  • extended signifie que max_wal_size est dépassé mais que les fichiers sont toujours retenus, soit par un slot de réplication soit par wal_keep_size.

  • unreserved signifie que le slot ne contient plus les fichiers nécessaires et que certains seront supprimés au prochain checkpoint. Cet état peut renvoyer soit reserved soit extended.

  • lost signifie que certains journaux requis sont définitivement perdus et que ce slot ne peut plus être utilisé.

Les deux derniers états sont possibles uniquement quand max_slot_wal_keep_size est positif ou nul. Si restart_lsn vaut NULL, ce champ est NULL aussi.

safe_wal_size pg_lsn

Le nombre d'octets à écrire dans les WAL pour que ce slot ne soit pas en danger de passer dans l'état lost. Il vaut NULL pour les slots dans l'état lost, ainsi que si max_slot_wal_keep_size vaut -1.

two_phase bool

True si le slot est activé pour décoder les transactions préparées. Toujours false pour les slots physiques.

conflicting bool

True si ce slot logique est entré en conflit avec la restauration (et est donc maintenant invalidé). Toujours à NULL pour les slots physiques.