Thread

  1. Re: Fix safe_wal_size for slots without restart_lsn

    Xuneng Zhou <xunengzhou@gmail.com> — 2026-05-28T01:01:01Z

    On Wed, May 27, 2026 at 6:55 PM Xuneng Zhou <xunengzhou@gmail.com> wrote:
    >
    > Hi,
    >
    > Currently, pg_replication_slots can report a non-null safe_wal_size
    > for a replication slot that has never reserved WAL, if
    > max_slot_wal_keep_size is finite.
    >
    > Such a slot has restart_lsn = NULL and wal_status = NULL. safe_wal_size is
    > derived from restart_lsn, so it's not meaningful in this state. The
    > current code handles WALAVAIL_REMOVED but not WALAVAIL_INVALID_LSN
    > before computing safe_wal_size, leading arithmetic on InvalidXLogRecPtr.
    >
    > Fix this by returning NULL for safe_wal_size when WAL availability is
    > WALAVAIL_INVALID_LSN.
    >
    
    Fixed the indentation issue in v1 and updated the comment and doc. Not
    sure this small issue warrants an additional test, still added one in
    case someone wants it.
    
    
    -- 
    Regards,
    Xuneng Zhou
    HighGo Software Co., Ltd.