[PATCH v2 1/1] Don't record commit_ts in bootstarp mode.

Andy Fan <zhihuifan1213@163.com>

From: Andy Fan <zhihuifan1213@163.com>
To:
Date: 2025-07-02T01:23:34Z
Lists: pgsql-hackers
This case would raise Assert failure in TransactionIdSetCommitTs  when
initdb with track_commit_timestamp=on.

Another option might be allowing BooststrapTransactionId in
TransactionIdSetCommitTs, but this adds a new change in
commit_ts module, which risk could be avoided easily with current
solution.
---
 src/backend/access/transam/commit_ts.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/backend/access/transam/commit_ts.c b/src/backend/access/transam/commit_ts.c
index 113fae1437a..1aa2dc450f5 100644
--- a/src/backend/access/transam/commit_ts.c
+++ b/src/backend/access/transam/commit_ts.c
@@ -157,6 +157,12 @@ TransactionTreeSetCommitTsData(TransactionId xid, int nsubxids,
 	if (!commitTsShared->commitTsActive)
 		return;
 
+	/*
+	 * Don't bother to record commit_ts for Booststrap mode.
+	 */
+	if (IsBootstrapProcessingMode())
+		return;
+
 	/*
 	 * Figure out the latest Xid in this batch: either the last subxid if
 	 * there's any, otherwise the parent xid.
-- 
2.45.1


--=-=-=--