Re: Make wal_receiver_timeout configurable per subscription

Srinath Reddy Sadipiralla <srinath2133@gmail.com>

From: Srinath Reddy Sadipiralla <srinath2133@gmail.com>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-05-16T16:47:28Z
Lists: pgsql-hackers
On Fri, May 16, 2025 at 9:11 PM Fujii Masao <masao.fujii@oss.nttdata.com>
wrote:

> Hi,
>
> When multiple subscribers connect to different publisher servers,
> it can be useful to set different wal_receiver_timeout values for
> each connection to better detect failures. However, this isn't
> currently possible, which limits flexibility in managing subscriptions.
>
>
Hi,+1 for the idea.


>
> One approach is to add wal_receiver_timeout as a parameter to
> CREATE SUBSCRIPTION command, storing it in pg_subscription
> so each logical replication worker can use its specific value.
>
> Another option is to change the wal_receiver_timeout's GUC context
> from PGC_SIGHUP to PGC_USERSET. This would allow setting different
> values via ALTER ROLE SET command for each subscription owner -
> effectively enabling per-subscription configuration. Since this
> approach is simpler and likely sufficient, I'd prefer starting with this.
> Thought?


Both ways LGTM,for starters we can go with changing GUC's context.


> BTW, this could be extended in the future to other GUCs used by
> logical replication workers, such as wal_retrieve_retry_interval.
>
>
+1 for extending this idea for other GUCs as well.

-- 
Thanks,
Srinath Reddy Sadipiralla
EDB: https://www.enterprisedb.com/