Home Explore Blog CI



postgresql

76th chunk of `doc/src/sgml/protocol.sgml`
5cd67e0d2f4bb028416bbac9eff1d059e0e72618592154900000000100000fb2
   </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int8</term>
       <listitem>
        <para>
         Flags; Either 0 for no flags or 1 if the logical decoding
         message is transactional.
        </para>
       </listitem>
      </varlistentry>

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

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The prefix of the logical decoding message.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Length of the content.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         The content of the logical decoding message.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-logicalrep-message-formats-Commit">
    <term>Commit</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('C')</term>
       <listitem>
        <para>
         Identifies the message as a commit 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 commit.
        </para>
       </listitem>
      </varlistentry>

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

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

   <varlistentry id="protocol-logicalrep-message-formats-Origin">
    <term>Origin</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('O')</term>
       <listitem>
        <para>
         Identifies the message as an origin message.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int64 (XLogRecPtr)</term>
       <listitem>
        <para>
         The LSN of the commit on the origin server.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         Name of the origin.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>

     <para>
      Note that there can be multiple Origin messages inside a single transaction.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-logicalrep-message-formats-Relation">
    <term>Relation</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('R')</term>
       <listitem>
        <para>
         Identifies the message as a relation message.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32 (TransactionId)</term>
       <listitem>
        <para>
         Xid of the transaction (only present for streamed transactions).
         This field is available since protocol version 2.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32 (Oid)</term>
       <listitem>
        <para>
         OID of the relation.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>

Title: Logical Replication Message Formats
Summary
This section continues to describe the detailed format of logical replication messages in PostgreSQL, including commit, origin, and relation messages, which contain information such as LSNs, timestamps, transaction IDs, and relation OIDs, and are used for streaming transactions and logical decoding.