<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/show.sgml,v 1.25 2003/04/25 19:45:08 tgl Exp $
PostgreSQL documentation
-->

<refentry id="SQL-SHOW">
 <refmeta>
  <refentrytitle id="SQL-SHOW-TITLE">SHOW</refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>
 <refnamediv>
  <refname>SHOW</refname>
  <refpurpose>show the value of a run-time parameter</refpurpose>
 </refnamediv>
 <refsynopsisdiv>
  <synopsis>
SHOW <replaceable class="PARAMETER">name</replaceable>
  </synopsis>
  <synopsis>
SHOW ALL
  </synopsis>

  <refsect2 id="R2-SQL-SHOW-1">
   <title>Inputs</title>

   <para>
    <variablelist>
     <varlistentry>
      <term><replaceable class="PARAMETER">name</replaceable></term>
      <listitem>
       <para>
        The name of a run-time parameter. See
	<xref linkend="sql-set" endterm="sql-set-title">
        for a list.
       </para>
      </listitem>
     </varlistentry>
     <varlistentry>
      <term>ALL</term>
      <listitem>
       <para>
        Show all current session parameters.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
  </refsect2>

 </refsynopsisdiv>

 <refsect1 id="R1-SQL-SHOW-1">
  <title>Description</title>
  <para>
   <command>SHOW</command> will display the current setting of
   run-time parameters. These variables can be set using the
   <command>SET</command> statement, by editing the
   <filename>postgresql.conf</filename> configuration file, through the
   <envar>PGOPTIONS</envar> environmental variable (when using libpq
   or a libpq-based application), or through
   command-line flags when starting the
   <application>postmaster</application>.
  </para>

  <para>
   Even with <varname>autocommit</> set to <literal>off</>, <command>SHOW</>
   does not start a new transaction block. See the
   <varname>autocommit</> section in <xref linkend="runtime-config"> for details.
  </para>

  <para>
   Available parameters are documented in
   <xref linkend="runtime-config"> and on the
   <xref linkend="SQL-SET" endterm="SQL-SET-title"> reference page.
   In addition, there are a few parameters that can be shown but not set:

   <variablelist>

    <varlistentry>
     <term>SERVER_VERSION</term>
     <listitem>
      <para>
       Shows the server's version number.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>SERVER_ENCODING</term>
     <listitem>
      <para>
       Shows the server-side multibyte encoding.  At present, this
       parameter can be shown but not set, because the encoding is
       determined at database creation time.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>LC_COLLATE</term>
     <listitem>
      <para>
       Shows the database's locale setting for collation (text ordering).
       At present, this parameter can be shown but not set, because the
       setting is determined at <application>initdb</> time.
      </para>
     </listitem>
    </varlistentry>

    <varlistentry>
     <term>LC_CTYPE</term>
     <listitem>
      <para>
       Shows the database's locale setting for character set considerations.
       At present, this parameter can be shown but not set, because the
       setting is determined at <application>initdb</> time.
      </para>
     </listitem>
    </varlistentry>

   </variablelist>
  </para>

  <para>
   Use <xref linkend="SQL-SET" endterm="SQL-SET-title"> to set the value
   of settable parameters.
  </para>
 </refsect1>

 <refsect1>
  <title>Diagnostics</title>

   <para>
    <variablelist>
     <varlistentry>
      <term><computeroutput>ERROR: Option '<replaceable>name</replaceable>'
	  is not recognized</computeroutput></term>
      <listitem>
       <para>
	Message returned if <replaceable>name</replaceable> does
	not stand for a known parameter.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>
 </refsect1>

 <refsect1>
  <title>Notes</title>

  <para>
   The function <function>current_setting</function> produces
   equivalent output. See <xref linkend="functions-misc">.
  </para>
 </refsect1>

 <refsect1 id="R1-SQL-SHOW-2">
  <title>Examples</title>
  <para>
   Show the current <varname>DateStyle</varname> setting:

<programlisting>
SHOW DateStyle;
               DateStyle
---------------------------------------
 ISO with US (NonEuropean) conventions
(1 row)
</programlisting>
  </para>

  <para>
   Show whether the genetic query optimizer is enabled by displaying
   the <varname>geqo</varname> setting:
<programlisting>
SHOW GEQO;
 geqo
------
 on
(1 row)
</programlisting>
  </para>

  <para>
   Show all settings:
<programlisting>
SHOW ALL;
             name              |                setting
-------------------------------+---------------------------------------
 australian_timezones          | off
 authentication_timeout        | 60
 checkpoint_segments           | 3
    .
    .
    .
 wal_debug                     | 0
 wal_sync_method               | fdatasync
(94 rows)
</programlisting>
  </para>

 </refsect1>

 <refsect1 id="R1-SQL-SHOW-3">
  <title>Compatibility</title>

  <para>
   The <command>SHOW</command> command is a
   <productname>PostgreSQL</productname> extension.
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->
