xataio/pgstream

Add phase visibility for `snapshot_and_replication` mode

クローズ

#984 opened on 2026/07/09

 (1 件のコメント) (1 件のリアクション) (0 人の担当者)Go (66 件のフォーク)auto 404
good first issuereplicationsnapshot

Repository metrics

Stars
 (1,151 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド