diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml index 61d28e701f2..a586156614d 100644 --- a/doc/src/sgml/system-views.sgml +++ b/doc/src/sgml/system-views.sgml @@ -2435,7 +2435,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx active bool - True if this slot is currently actively being used + True if this slot is currently being streamed @@ -2444,9 +2444,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx active_pid int4 - The process ID of the session using this slot if the slot - is currently actively being used. NULL if - inactive. + The process ID of the session streaming data for this slot. + NULL if inactive. @@ -2566,15 +2565,18 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx inactive_since timestamptz - The time since the slot has become inactive. - NULL if the slot is currently being used. + The time when the slot became inactive. NULL if the + slot is currently being streamed. Note that for slots on the standby that are being synced from a primary server (whose synced field is - true), the - inactive_since indicates the last - synchronization (see - ) - time. + true), the inactive_since + indicates the time when slot synchronization (see ) + was most recently stopped. NULL if the slot + has always been synchronized. On standby, this is useful for slots + that are being synced from a primary server (whose + synced field is true) + so they know when the slot stopped being synchronized. diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index d62186a5107..f4f80b23129 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -1515,7 +1515,7 @@ update_synced_slots_inactive_since(void) * correctly interpret the inactive_since if the standby gets promoted * without a restart. We don't want the slots to appear inactive for a * long time after promotion if they haven't been synchronized recently. - * Whoever acquires the slot i.e.makes the slot active will reset it. + * Whoever acquires the slot, i.e., makes the slot active, will reset it. */ if (!StandbyMode) return; diff --git a/src/include/replication/slot.h b/src/include/replication/slot.h index 45582cf9d89..d2cf786fd57 100644 --- a/src/include/replication/slot.h +++ b/src/include/replication/slot.h @@ -205,7 +205,11 @@ typedef struct ReplicationSlot */ XLogRecPtr last_saved_confirmed_flush; - /* The time since the slot has become inactive */ + /* + * The time when the slot became inactive. For synced slots on a standby + * server, it represents the time when slot synchronization was most + * recently stopped. + */ TimestampTz inactive_since; } ReplicationSlot;