xataio/pgstream

Add phase visibility for `snapshot_and_replication` mode

Fermée

#984 ouverte le 9 juil. 2026

 (1 commentaire) (1 réaction) (0 personne assignée)Go (66 forks)auto 404
good first issuereplicationsnapshot

Métriques du dépôt

Stars
 (1 151 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

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

Guide contributeur