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

Attachment: v2-0003-Refactor-move-XLogSource-enum-to-xlogrecovery.h.patch
Description: Binary data

Attachment: v2-0002-Add-pg_stat_recovery-system-view.patch
Description: Binary data

Attachment: v2-0001-Refactor-move-XLogRecoveryCtlData-struct-to-xlogr.patch
Description: Binary data

Attachment: v2-0004-Add-wal_source-column-to-pg_stat_recovery.patch
Description: Binary data

Reply via email to