From f9b34ca0ce82abbb30a5418afae7f034b540b49f Mon Sep 17 00:00:00 2001
From: Atsushi Torikoshi <torikoshia@oss.nttdata.com>
Date: Wed, 12 Aug 2026 08:50:52 +0900
Subject: [PATCH v3] Correct documentation of logical decoding message LSN

The documentation described the reported LSN as the LSN of the logical
decoding message itself. However, the value actually reported is the
end LSN of the message record.

This difference may matter to logical decoding consumers, for example,
those that persist the LSN of decoded changes and use it to determine
where to resume after an unexpected interruption. Unlike DML changes,
a logical message is reported with the end LSN of its WAL record, so
such consumers may need special handling for logical messages when
determining the resume position.
---
 doc/src/sgml/protocol.sgml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index 62125a5746a..04922dc7c39 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -6629,7 +6629,7 @@ psql "dbname=postgres replication=database" -c "IDENTIFY_SYSTEM;"
 </term>
 <listitem>
 <para>
-                The LSN of the logical decoding message.
+                The end LSN of the logical decoding message.
 </para>
 </listitem>
 </varlistentry>
-- 
2.48.1

