Home Explore Blog CI



postgresql

82th chunk of `doc/src/sgml/protocol.sgml`
f201110a29b924942a84daac3df80be32723afe0b3f6a2a40000000100000fa0
 available since protocol version
         4.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (TimestampTz)</term>
       <listitem>
        <para>
         Abort timestamp of the transaction. The value is in number
         of microseconds since PostgreSQL epoch (2000-01-01). This field is
         available since protocol version 4.
        </para>
       </listitem>
      </varlistentry>

     </variablelist>
    </listitem>
   </varlistentry>
  </variablelist>

  <para>
   The following messages (Begin Prepare, Prepare, Commit Prepared, Rollback Prepared, Stream Prepare)
   are available since protocol version 3.
  </para>

  <variablelist>
   <varlistentry id="protocol-logicalrep-message-formats-Begin-Prepare">
    <term>Begin Prepare</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('b')</term>
       <listitem>
        <para>
         Identifies the message as the beginning of a prepared transaction message.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (XLogRecPtr)</term>
       <listitem>
        <para>
         The LSN of the prepare.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (XLogRecPtr)</term>
       <listitem>
        <para>
         The end LSN of the prepared transaction.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (TimestampTz)</term>
       <listitem>
        <para>
         Prepare timestamp of the transaction. The value is in number
         of microseconds since PostgreSQL epoch (2000-01-01).
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32 (TransactionId)</term>
       <listitem>
        <para>
         Xid of the transaction.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The user defined GID of the prepared transaction.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-logicalrep-message-formats-Prepare">
    <term>Prepare</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('P')</term>
       <listitem>
        <para>
         Identifies the message as a prepared transaction message.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int8(0)</term>
       <listitem>
        <para>
         Flags; currently unused.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (XLogRecPtr)</term>
       <listitem>
        <para>
         The LSN of the prepare.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (XLogRecPtr)</term>
       <listitem>
        <para>
         The end LSN of the prepared transaction.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (TimestampTz)</term>
       <listitem>
        <para>
         Prepare timestamp of the transaction. The value is in number
         of microseconds since PostgreSQL epoch (2000-01-01).
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32 (TransactionId)</term>
       <listitem>
        <para>
         Xid of the transaction.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The user defined GID of the prepared transaction.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-logicalrep-message-formats-Commit-Prepared">
    <term>Commit Prepared</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('K')</term>
     

Title: Logical Replication Message Formats for Prepared Transactions
Summary
This section describes the message formats for prepared transactions in logical replication, including Begin Prepare, Prepare, and Commit Prepared messages, with details on the fields such as LSN, timestamp, transaction ID, and user-defined GID, and notes on protocol version compatibility.