xataio/pgstream

Add phase visibility for `snapshot_and_replication` mode

已關閉

#984 建立於 2026年7月9日

 (1 則留言) (1 個反應) (0 位負責人)Go (66 個分叉)auto 404
good first issuereplicationsnapshot

倉庫指標

星標
 (1,151 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Problem

In snapshot_and_replication mode, there's no queryable way to tell whether the process is doing the initial snapshot or logical replication. The only signal is the ordered log sequence: initial snapshot enabled → snapshot generation completed → logical replication started.

pgstream status doesn't help: it's a static config/init check against Postgres (not the running process), and its Status struct has no phase field.

Proposal

Expose the current phase (snapshot | replication) as a queryable signal. Preferred: a /status endpoint on the existing health server (cmd/health_cmd.go:32), and OTel phase gauge, or enriching pgstream status to read slot active/confirmed_flush_lsn.

Requirements

  • Operator can tell snapshot vs streaming phase without reading logs.
  • Signal flips at logical replication started.
  • Works for all pgstream modes, not just snapshot_and_replication

貢獻者指南