xataio/pgstream

Add phase visibility for `snapshot_and_replication` mode

Fechada

#984 aberto em 9 de jul. de 2026

 (1 comentário) (1 reação) (0 responsável)Go (66 forks)auto 404
good first issuereplicationsnapshot

Métricas do repositório

Stars
 (1.151 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

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

Guia do colaborador