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

贡献者指南