Add phase visibility for `snapshot_and_replication` mode
#984 aperta il 9 lug 2026
Metriche repository
- Star
- (1151 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
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