v7-0007-Document-that-WAIT-FOR-LSN-is-timeline-blind.patch
application/octet-stream
Filename: v7-0007-Document-that-WAIT-FOR-LSN-is-timeline-blind.patch
Type: application/octet-stream
Part: 6
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v7-0007
Subject: Document that WAIT FOR LSN is timeline-blind
| File | + | − |
|---|---|---|
| doc/src/sgml/ref/wait_for.sgml | 14 | 0 |
From 2903f43bddbc5ae1a7832aed8c63abbf7c052fe8 Mon Sep 17 00:00:00 2001
From: alterego655 <824662526@qq.com>
Date: Tue, 21 Apr 2026 11:43:52 +0800
Subject: [PATCH v7 7/7] Document that WAIT FOR LSN is timeline-blind
WAIT FOR LSN compares only the numeric LSN and has no notion of which
timeline a WAL record belongs to. There are many possible scenarios when
timeline-switching can break read-your-writes consistency. The proper
analysis and timeline support is possible in the next major release. Yet
just document the current behaviour.
Reported-by: Xuneng Zhou <xunengzhou@gmail.com>
Author: Alexander Korotkov <aekorotkov@gmail.com>
---
doc/src/sgml/ref/wait_for.sgml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/doc/src/sgml/ref/wait_for.sgml b/doc/src/sgml/ref/wait_for.sgml
index 7b403c98dd0..916d8bce7ec 100644
--- a/doc/src/sgml/ref/wait_for.sgml
+++ b/doc/src/sgml/ref/wait_for.sgml
@@ -256,6 +256,20 @@ WAIT FOR LSN '<replaceable class="parameter">lsn</replaceable>'
timeline.
</para>
+ <para>
+ <command>WAIT FOR</command> compares only the numeric
+ <acronym>LSN</acronym>; it has no notion of which timeline a WAL
+ record belongs to. This matters when a standby continues recovery
+ across an upstream timeline switch — for example, a cascading
+ standby whose upstream gets promoted. In that case
+ <command>WAIT FOR</command> will return <literal>success</literal>
+ as soon as the position used by the selected wait mode reaches or
+ passes the numeric <acronym>LSN</acronym>, regardless of which
+ timeline that <acronym>LSN</acronym> belongs to. Applications that need to
+ confirm the target refers to the expected timeline must validate
+ the timeline themselves.
+ </para>
+
<para>
On a standby server, <command>WAIT FOR</command> sessions may be
interrupted by recovery conflicts. Some recovery conflicts are
--
2.39.5 (Apple Git-154)