belong to the same transaction. Similarly, all messages between a pair of
Begin Prepare and Prepare messages belong to the same transaction.
It also sends changes of large in-progress transactions between a pair of
- Stream Start and Stream Stop messages. The last stream of such a transaction
+ Stream Start and Stream Stop messages. The last stream of such a transaction
contains a Stream Commit or Stream Abort message.
</para>
<title>Logical Replication Message Formats</title>
<para>
-This section describes the detailed format of each logical replication message.
-These messages are returned either by the replication slot SQL interface or are
-sent by a walsender. In case of a walsender they are encapsulated inside the replication
-protocol WAL messages as described in <xref linkend="protocol-replication"/>
-and generally obey same message flow as physical replication.
+This section describes the detailed format of each logical replication
+message. These messages are either returned by the replication slot SQL
+interface or are sent by a walsender. In the case of a walsender they are
+encapsulated inside replication protocol WAL messages as described in
+<xref linkend="protocol-replication"/>, and generally obey the same message
+flow as physical replication.
</para>
<variablelist>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (TimestampTz)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int8
+ Int8(0)
</term>
<listitem>
<para>
- Flags; currently unused (must be 0).
+ Flags; currently unused.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (TimestampTz)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the relation.
+ OID of the relation.
</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the column's data type.
+ OID of the column's data type.
</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the data type.
+ OID of the data type.
</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the relation corresponding to the ID in the relation
+ OID of the relation corresponding to the ID in the relation
message.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the relation corresponding to the ID in the relation
+ OID of the relation corresponding to the ID in the relation
message.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the relation corresponding to the ID in the relation
+ OID of the relation corresponding to the ID in the relation
message.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (Oid)
</term>
<listitem>
<para>
- ID of the relation corresponding to the ID in the relation
+ OID of the relation corresponding to the ID in the relation
message. This field is repeated for each relation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int8
+ Int8(0)
</term>
<listitem>
<para>
- Flags; currently unused (must be 0).
+ Flags; currently unused.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (XLogRecPtr)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int64
+ Int64 (TimestampTz)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
<term>
- Int32
+ Int32 (TransactionId)
</term>
<listitem>
<para>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The LSN of the prepare.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The end LSN of the prepared transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (TimestampTz)
+</term>
<listitem><para>
Prepare timestamp of the transaction. The value is in number
of microseconds since PostgreSQL epoch (2000-01-01).
</varlistentry>
<varlistentry>
-<term>Int32</term>
+<term>
+ Int32 (TransactionId)
+</term>
<listitem><para>
Xid of the transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int8</term>
+<term>
+ Int8(0)
+</term>
<listitem><para>
- Flags; currently unused (must be 0).
+ Flags; currently unused.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The LSN of the prepare.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The end LSN of the prepared transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (TimestampTz)
+</term>
<listitem><para>
Prepare timestamp of the transaction. The value is in number
of microseconds since PostgreSQL epoch (2000-01-01).
</varlistentry>
<varlistentry>
-<term>Int32</term>
+<term>
+ Int32 (TransactionId)
+</term>
<listitem><para>
Xid of the transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int8</term>
+<term>
+ Int8(0)
+</term>
<listitem><para>
- Flags; currently unused (must be 0).
+ Flags; currently unused.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The LSN of the commit prepared.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The end LSN of the commit prepared transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (TimestampTz)
+</term>
<listitem><para>
Commit timestamp of the transaction. The value is in number
of microseconds since PostgreSQL epoch (2000-01-01).
</varlistentry>
<varlistentry>
-<term>Int32</term>
+<term>
+ Int32 (TransactionId)
+</term>
<listitem><para>
Xid of the transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int8</term>
+<term>
+ Int8(0)
+</term>
<listitem><para>
- Flags; currently unused (must be 0).
+ Flags; currently unused.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The end LSN of the prepared transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (XLogRecPtr)
+</term>
<listitem><para>
The end LSN of the rollback prepared transaction.
</para></listitem>
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (TimestampTz)
+</term>
<listitem><para>
Prepare timestamp of the transaction. The value is in number
of microseconds since PostgreSQL epoch (2000-01-01).
</varlistentry>
<varlistentry>
-<term>Int64</term>
+<term>
+ Int64 (TimestampTz)
+</term>
<listitem><para>
Rollback timestamp of the transaction. The value is in number
of microseconds since PostgreSQL epoch (2000-01-01).
</varlistentry>
<varlistentry>
-<term>Int32</term>
+<term>
+ Int32 (TransactionId)
+</term>
<listitem><para>
Xid of the transaction.
</para></listitem>