summaryrefslogtreecommitdiff
path: root/src/include/pgstat.h
diff options
context:
space:
mode:
authorAmit Kapila2025-11-25 06:47:49 +0000
committerAmit Kapila2025-11-25 07:06:02 +0000
commit76b78721ca49c16dfcbfbd2f4f87fcdb2db2bbb6 (patch)
treebf239b845d97ce9385c6d7b03b8ba52e035895c3 /src/include/pgstat.h
parentc581c9a7ac2af2c75567013f25125bd294d49ff2 (diff)
Add slotsync skip statistics.
This patch adds two new columns to the pg_stat_replication_slots view: slotsync_skip_count - the total number of times a slotsync operation was skipped. slotsync_skip_at - the timestamp of the most recent skip. These additions provide better visibility into replication slot synchronization behavior. A future patch will introduce the slotsync_skip_reason column in pg_replication_slots to capture the reason for skip. Author: Shlok Kyal <shlok.kyal.oss@gmail.com> Reviewed-by: shveta malik <shveta.malik@gmail.com> Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com> Reviewed-by: Ashutosh Sharma <ashu.coek88@gmail.com> Reviewed-by: Amit Kapila <amit.kapila16@gmail.com> Discussion: https://postgr.es/m/CAE9k0PkhfKrTEAsGz4DjOhEj1nQ+hbQVfvWUxNacD38ibW3a1g@mail.gmail.com
Diffstat (limited to 'src/include/pgstat.h')
-rw-r--r--src/include/pgstat.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/include/pgstat.h b/src/include/pgstat.h
index a68e725259a..ad85134f27a 100644
--- a/src/include/pgstat.h
+++ b/src/include/pgstat.h
@@ -214,7 +214,7 @@ typedef struct PgStat_TableXactStatus
* ------------------------------------------------------------
*/
-#define PGSTAT_FILE_FORMAT_ID 0x01A5BCBA
+#define PGSTAT_FILE_FORMAT_ID 0x01A5BCBB
typedef struct PgStat_ArchiverStats
{
@@ -400,6 +400,8 @@ typedef struct PgStat_StatReplSlotEntry
PgStat_Counter mem_exceeded_count;
PgStat_Counter total_txns;
PgStat_Counter total_bytes;
+ PgStat_Counter slotsync_skip_count;
+ TimestampTz slotsync_skip_at;
TimestampTz stat_reset_timestamp;
} PgStat_StatReplSlotEntry;
@@ -745,6 +747,7 @@ extern PgStat_TableStatus *find_tabstat_entry(Oid rel_id);
extern void pgstat_reset_replslot(const char *name);
struct ReplicationSlot;
extern void pgstat_report_replslot(struct ReplicationSlot *slot, const PgStat_StatReplSlotEntry *repSlotStat);
+extern void pgstat_report_replslotsync(struct ReplicationSlot *slot);
extern void pgstat_create_replslot(struct ReplicationSlot *slot);
extern void pgstat_acquire_replslot(struct ReplicationSlot *slot);
extern void pgstat_drop_replslot(struct ReplicationSlot *slot);