Home Explore Blog CI



postgresql

68th chunk of `doc/src/sgml/protocol.sgml`
b9e77d9d188e05b7aa6a48bf6415d50daa7738ae2eee722b0000000100000fa0
 id="protocol-message-formats-PasswordMessage">
    <term>PasswordMessage (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('p')</term>
       <listitem>
        <para>
         Identifies the message as a password response. Note that
         this is also used for GSSAPI, SSPI and SASL response messages.
         The exact message type can be deduced from the context.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The password (encrypted, if requested).
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-PortalSuspended">
    <term>PortalSuspended (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('s')</term>
       <listitem>
        <para>
         Identifies the message as a portal-suspended indicator.
         Note this only appears if an Execute message's row-count limit
         was reached.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32(4)</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-Query">
    <term>Query (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('Q')</term>
       <listitem>
        <para>
         Identifies the message as a simple query.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The query string itself.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-ReadyForQuery">
    <term>ReadyForQuery (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('Z')</term>
       <listitem>
        <para>
         Identifies the message type.  ReadyForQuery is sent
         whenever the backend is ready for a new query cycle.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32(5)</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte1</term>
       <listitem>
        <para>
         Current backend transaction status indicator.
         Possible values are '<literal>I</literal>' if idle (not in
         a transaction block); '<literal>T</literal>' if in a transaction
         block; or '<literal>E</literal>' if in a failed transaction
         block (queries will be rejected until block is ended).
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-RowDescription">
    <term>RowDescription (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('T')</term>
       <listitem>
        <para>
         Identifies the message as a row description.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

Title: PostgreSQL Protocol Message Formats
Summary
This section describes the formats of various PostgreSQL protocol messages, including PasswordMessage, PortalSuspended, Query, ReadyForQuery, and RowDescription, detailing the structure and content of each message type, such as message identifiers, lengths, query strings, and transaction status indicators, which are used to handle authentication, query execution, and transaction management in PostgreSQL database operations.