Hi, On Tue, Jan 27, 2026 at 3:23 PM Xuneng Zhou <[email protected]> wrote: > > Hi Hackers, > > This patch series introduces pg_stat_recovery, a new view that exposes > the startup process’s internal recovery state at the SQL level. It > follows the pattern of pg_stat_wal_receiver, but focuses on WAL replay > and recovery rather than WAL reception. > > The view provides visibility into replay progress, recovery timing, > and operational status—information that was previously scattered > across separate function calls or not exposed at all. > > As Michael suggested [1][2], this view is intentionally independent of > walreceiver state, since the startup process can consume WAL from > multiple sources (archive, pg_wal, or streaming), not just streaming > replication. > > The patch series: > 0001: Refactor: move XLogRecoveryCtlData struct to xlogrecovery.h > Move the XLogRecoveryCtlData struct definition from xlogrecovery.c to > xlogrecovery.h, > > 0002: Add pg_stat_recovery system view > Introduces the core view with columns > > 0003: Refactor: move XLogSource enum to xlogrecovery.h > Preparatory refactoring to make XLogSource visible externally. > > 0004: Add wal_source column to pg_stat_recovery > Adds wal_source column showing where WAL was last read from: > 'archive', 'pg_wal', or 'stream'. > > Example usage on a standby: > > SELECT promote_triggered, pause_state, wal_source, > pg_size_pretty(pg_wal_lsn_diff(replay_end_lsn, last_replayed_end_lsn)) > FROM pg_stat_recovery; > > promote_triggered | pause_state | wal_source | pg_size_pretty > -------------------+-------------+------------+---------------- > f | not paused | stream | 0 bytes > > Feedbacks welcome. > > [1] https://www.postgresql.org/message-id/[email protected] > [2] https://www.postgresql.org/message-id/[email protected] > > -- > Best, > Xuneng
Just rebase. -- Best, Xuneng
v2-0003-Refactor-move-XLogSource-enum-to-xlogrecovery.h.patch
Description: Binary data
v2-0002-Add-pg_stat_recovery-system-view.patch
Description: Binary data
v2-0001-Refactor-move-XLogRecoveryCtlData-struct-to-xlogr.patch
Description: Binary data
v2-0004-Add-wal_source-column-to-pg_stat_recovery.patch
Description: Binary data
