diff options
author | Amit Kapila <akapila@postgresql.org> | 2024-11-25 10:58:06 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2024-11-25 10:58:06 +0530 |
commit | 5f46439d5931c518b670058e66849d7994f07588 (patch) | |
tree | 4b17c7bfdb1b3400ca9974e40d8674f8c7f897d9 | |
parent | 1a52069914ebf81ab8591f5b451fc9099529c211 (diff) | |
download | postgresql-5f46439d5931c518b670058e66849d7994f07588.tar.gz postgresql-5f46439d5931c518b670058e66849d7994f07588.zip |
Doc: Clarify the `inactive_since` field description.
Updated to specify that it represents the exact time a slot became
inactive, rather than the period of inactivity.
Reported-by: Peter Smith
Author: Bruce Momjian, Nisha Moond
Reviewed-by: Amit Kapila, Peter Smith
Backpatch-through: 17
Discussion: https://postgr.es/m/CAHut+PuvsyA5v8y7rYoY9mkDQzUhwaESM05yCByTMaDoRh30tA@mail.gmail.com
-rw-r--r-- | doc/src/sgml/system-views.sgml | 24 | ||||
-rw-r--r-- | src/backend/replication/logical/slotsync.c | 2 | ||||
-rw-r--r-- | src/include/replication/slot.h | 6 |
3 files changed, 19 insertions, 13 deletions
diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml index 8c18bea902f..a852bdb99a3 100644 --- a/doc/src/sgml/system-views.sgml +++ b/doc/src/sgml/system-views.sgml @@ -2397,7 +2397,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx <structfield>active</structfield> <type>bool</type> </para> <para> - True if this slot is currently actively being used + True if this slot is currently being streamed </para></entry> </row> @@ -2406,9 +2406,8 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx <structfield>active_pid</structfield> <type>int4</type> </para> <para> - The process ID of the session using this slot if the slot - is currently actively being used. <literal>NULL</literal> if - inactive. + The process ID of the session streaming data for this slot. + <literal>NULL</literal> if inactive. </para></entry> </row> @@ -2528,15 +2527,18 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx <structfield>inactive_since</structfield> <type>timestamptz</type> </para> <para> - The time since the slot has become inactive. - <literal>NULL</literal> if the slot is currently being used. + The time when the slot became inactive. <literal>NULL</literal> if the + slot is currently being streamed. Note that for slots on the standby that are being synced from a primary server (whose <structfield>synced</structfield> field is - <literal>true</literal>), the - <structfield>inactive_since</structfield> indicates the last - synchronization (see - <xref linkend="logicaldecoding-replication-slots-synchronization"/>) - time. + <literal>true</literal>), the <structfield>inactive_since</structfield> + indicates the time when slot synchronization (see <xref + linkend="logicaldecoding-replication-slots-synchronization"/>) + was most recently stopped. <literal>NULL</literal> if the slot + has always been synchronized. On standby, this is useful for slots + that are being synced from a primary server (whose + <structfield>synced</structfield> field is <literal>true</literal>) + so they know when the slot stopped being synchronized. </para></entry> </row> diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index ebfbaebe16c..73fe3f56af2 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -1516,7 +1516,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 c9675ee87cc..07561bc4742 100644 --- a/src/include/replication/slot.h +++ b/src/include/replication/slot.h @@ -202,7 +202,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; |