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;