Resume conflict-relevant data retention automatically.
authorAmit Kapila <akapila@postgresql.org>
Mon, 15 Sep 2025 08:44:54 +0000 (08:44 +0000)
committerAmit Kapila <akapila@postgresql.org>
Mon, 15 Sep 2025 08:46:55 +0000 (08:46 +0000)
commit0d48d393d465b6f1abe18b86bd5ac2de0636a40e
tree8c1a42ff5bc36afeee8c67365174b46866ee148f
parent282d0bdee6192f1a859ee34672ae73abf49794dc
Resume conflict-relevant data retention automatically.

This commit resumes automatic retention of conflict-relevant data for a
subscription. Previously, retention would stop if the apply process failed
to advance its xmin (oldest_nonremovable_xid) within the configured
max_retention_duration and user needs to manually re-enable
retain_dead_tuples option. With this change, retention will resume
automatically once the apply worker catches up and begins advancing its
xmin (oldest_nonremovable_xid) within the configured threshold.

Author: Zhijie Hou <houzj.fnst@fujitsu.com>
Reviewed-by: shveta malik <shveta.malik@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Reviewed-by: Dilip Kumar <dilipbalaut@gmail.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/OS0PR01MB5716BE80DAEB0EE2A6A5D1F5949D2@OS0PR01MB5716.jpnprd01.prod.outlook.com
doc/src/sgml/ref/create_subscription.sgml
src/backend/replication/logical/launcher.c
src/backend/replication/logical/worker.c
src/test/subscription/t/035_conflicts.pl