Home Explore Blog CI



postgresql

40th chunk of `doc/src/sgml/libpq.sgml`
86420283aab7a628153e9384379bc049c96b01d74c6ec8e30000000100000fb3
 linkend="libpq-PQconnectStartParams"/>, <function>PQconnectStart</function>
       and <function>PQconnectPoll</function> with regards to other status codes that
       might be returned.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry id="libpq-PQtransactionStatus">
     <term><function>PQtransactionStatus</function><indexterm><primary>PQtransactionStatus</primary></indexterm></term>

     <listitem>
      <para>
       Returns the current in-transaction status of the server.

<synopsis>
PGTransactionStatusType PQtransactionStatus(const PGconn *conn);
</synopsis>

       The status can be <literal>PQTRANS_IDLE</literal> (currently idle),
       <literal>PQTRANS_ACTIVE</literal> (a command is in progress),
       <literal>PQTRANS_INTRANS</literal> (idle, in a valid transaction block),
       or <literal>PQTRANS_INERROR</literal> (idle, in a failed transaction block).
       <literal>PQTRANS_UNKNOWN</literal> is reported if the connection is bad.
       <literal>PQTRANS_ACTIVE</literal> is reported only when a query
       has been sent to the server and not yet completed.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry id="libpq-PQparameterStatus">
     <term><function>PQparameterStatus</function><indexterm><primary>PQparameterStatus</primary></indexterm></term>

     <listitem>
      <para>
       Looks up a current parameter setting of the server.

<synopsis>
const char *PQparameterStatus(const PGconn *conn, const char *paramName);
</synopsis>

       Certain parameter values are reported by the server automatically at
       connection startup or whenever their values change.
       <xref linkend="libpq-PQparameterStatus"/> can be used to interrogate these settings.
       It returns the current value of a parameter if known, or <symbol>NULL</symbol>
       if the parameter is not known.
      </para>

      <para>
       Parameters reported as of the current release include:
       <simplelist type="vert" columns="2">
        <member><varname>application_name</varname></member>
        <member><varname>client_encoding</varname></member>
        <member><varname>DateStyle</varname></member>
        <member><varname>default_transaction_read_only</varname></member>
        <member><varname>in_hot_standby</varname></member>
        <member><varname>integer_datetimes</varname></member>
        <member><varname>IntervalStyle</varname></member>
        <member><varname>is_superuser</varname></member>
        <member><varname>scram_iterations</varname></member>
        <member><varname>search_path</varname></member>
        <member><varname>server_encoding</varname></member>
        <member><varname>server_version</varname></member>
        <member><varname>session_authorization</varname></member>
        <member><varname>standard_conforming_strings</varname></member>
        <member><varname>TimeZone</varname></member>
       </simplelist>
       (<varname>default_transaction_read_only</varname> and
       <varname>in_hot_standby</varname> were not reported by releases before
       14; <varname>scram_iterations</varname> was not reported by releases
       before 16; <varname>search_path</varname> was not reported by releases
       before 18.)
       Note that
       <varname>server_version</varname>,
       <varname>server_encoding</varname> and
       <varname>integer_datetimes</varname>
       cannot change after startup.
      </para>

      <para>
       If no value for <varname>standard_conforming_strings</varname> is reported,
       applications can assume it is <literal>off</literal>, that is, backslashes
       are treated as escapes in string literals.  Also, the presence of
       this parameter can be taken as an indication that the escape string
       syntax (<literal>E'...'</literal>) is accepted.
      </para>

      <para>
       Although the returned pointer is declared <literal>const</literal>, it in fact
       points to mutable storage associated with the <literal>PGconn</literal>

Title: PQtransactionStatus and PQparameterStatus: Functions for Retrieving Transaction and Parameter Information
Summary
This section details the functions PQtransactionStatus and PQparameterStatus. PQtransactionStatus returns the current in-transaction status of the server (idle, active, in a valid transaction, or in a failed transaction). PQparameterStatus looks up the current setting of a server parameter (e.g., application_name, client_encoding, DateStyle, server_version). It returns the value if known, or NULL otherwise. The parameters are automatically reported by the server at connection startup or whenever their values change.