Home Explore Blog CI



postgresql

53th chunk of `doc/src/sgml/protocol.sgml`
84abb09975d7ba9008851a1d012043e8a1f9b25dc207695c0000000100000fa1
 there is the
      following:

      <variablelist>
       <varlistentry>
        <term>String</term>
        <listitem>
         <para>
          Name of a SASL authentication mechanism.
         </para>
        </listitem>
       </varlistentry>
      </variablelist>
     </para>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-AuthenticationSASLContinue">
    <term>AuthenticationSASLContinue (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('R')</term>
       <listitem>
        <para>
         Identifies the message as an authentication request.
        </para>
       </listitem>
      </varlistentry>

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

      <varlistentry>
       <term>Int32(11)</term>
       <listitem>
        <para>
         Specifies that this message contains a SASL challenge.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         SASL data, specific to the SASL mechanism being used.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-AuthenticationSASLFinal">
    <term>AuthenticationSASLFinal (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('R')</term>
       <listitem>
        <para>
         Identifies the message as an authentication request.
        </para>
       </listitem>
      </varlistentry>

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

      <varlistentry>
       <term>Int32(12)</term>
       <listitem>
        <para>
         Specifies that SASL authentication has completed.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         SASL outcome "additional data", specific to the SASL mechanism
         being used.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-BackendKeyData">
    <term>BackendKeyData (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('K')</term>
       <listitem>
        <para>
         Identifies the message as cancellation key data.
         The frontend must save these values if it wishes to be
         able to issue CancelRequest messages later.
        </para>
       </listitem>
      </varlistentry>

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

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         The process ID of this backend.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         The secret key of this backend. This field extends to the end of the
         message, indicated by the length field.
        </para>
        <para>
          The maximum key length is 256 bytes. The
          <productname>PostgreSQL</productname> server only sends keys up to
          32 bytes, but the larger maximum size allows for future server
          versions, as well as connection poolers and other middleware, to use
          longer keys. One possible use case is augmenting the server's key
          with extra information. Middleware is therefore also encouraged to
          not use up all of

Title: Message Formats for Authentication and Backend Key Data
Summary
This section describes the formats of various messages related to authentication, including SASL authentication mechanisms, challenge and final messages, as well as BackendKeyData messages, which contain cancellation key data, process IDs, and secret keys for backend processes.