Fix safe_wal_size for slots without restart_lsn - Mailing list pgsql-hackers

From Xuneng Zhou
Subject Fix safe_wal_size for slots without restart_lsn
Date
Msg-id CABPTF7VkJEJa4Ze2q2jNUp3k-0AbpwvW0cGHrsEQiezU0h6Z+Q@mail.gmail.com
Whole thread
Responses Re: Fix safe_wal_size for slots without restart_lsn
List pgsql-hackers
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.

-- 
Regards,
Xuneng Zhou
HighGo Software Co., Ltd.

Attachment

pgsql-hackers by date:

Previous
From: Matthias van de Meent
Date:
Subject: PGConf.dev CSN unconference session: notes and follow-up discussion takeaways
Next
From: shveta malik
Date:
Subject: Re: [PATCH] Release replication slot on error in SQL-callable slot functions