Add per-subscription wal_receiver_timeout setting.

This commit allows setting wal_receiver_timeout per subscription
using the CREATE SUBSCRIPTION and ALTER SUBSCRIPTION commands.
The value is stored in the subwalrcvtimeout column of the pg_subscription
catalog.

When set, this value overrides the global wal_receiver_timeout for
the subscription's apply worker. The default is -1, which means the
global setting (from the server configuration, command line, role,
or database) remains in effect.

This feature is useful for configuring different timeout values for
each subscription, especially when connecting to multiple publisher
servers, to improve failure detection.

Bump catalog version.

Author: Fujii Masao <[email protected]>
Reviewed-by: Japin Li <[email protected]>
Reviewed-by: Chao Li <[email protected]>
Discussion: 
https://postgr.es/m/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/fb80f388f4a140934f51f68578ba321152332ce7

Modified Files
--------------
doc/src/sgml/catalogs.sgml                 |  10 ++
doc/src/sgml/ref/alter_subscription.sgml   |   5 +-
doc/src/sgml/ref/create_subscription.sgml  |  15 ++-
src/backend/catalog/pg_subscription.c      |   6 +
src/backend/commands/subscriptioncmds.c    |  51 +++++++-
src/backend/replication/logical/worker.c   |  41 +++++++
src/bin/pg_dump/pg_dump.c                  |  18 ++-
src/bin/pg_dump/pg_dump.h                  |   1 +
src/bin/psql/describe.c                    |   7 +-
src/include/catalog/catversion.h           |   2 +-
src/include/catalog/pg_subscription.h      |   4 +
src/test/regress/expected/subscription.out | 180 +++++++++++++++--------------
src/test/regress/sql/subscription.sql      |   3 +
13 files changed, 245 insertions(+), 98 deletions(-)

Reply via email to