mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-08-22 15:13:24 +02:00
reference page to new configuration system. Big update to administrator's guide, chapters Runtime environment, Client authentication, and User management, the latter two were part of the old Security chapter.
421 lines
10 KiB
Plaintext
421 lines
10 KiB
Plaintext
<!--
|
|
$Header: /cvsroot/pgsql/doc/src/sgml/ref/set.sgml,v 1.45 2000/06/18 21:24:52 petere Exp $
|
|
Postgres documentation
|
|
-->
|
|
|
|
<refentry id="SQL-SET">
|
|
<refmeta>
|
|
<refentrytitle id="SQL-SET-TITLE">SET</refentrytitle>
|
|
<refmiscinfo>SQL - Language Statements</refmiscinfo>
|
|
</refmeta>
|
|
<refnamediv>
|
|
<refname>SET</refname>
|
|
<refpurpose>Set run-time parameters</refpurpose>
|
|
</refnamediv>
|
|
<refsynopsisdiv>
|
|
<synopsis>
|
|
SET <replaceable class="PARAMETER">variable</replaceable> { TO | = } { <replaceable class="PARAMETER">value</replaceable> | '<replaceable class="PARAMETER">value</replaceable>' | DEFAULT }
|
|
SET TIME ZONE { '<replaceable class="PARAMETER">timezone</replaceable>' | LOCAL | DEFAULT }
|
|
</synopsis>
|
|
|
|
<refsect2 id="R2-SQL-SET-1">
|
|
<title>Inputs</title>
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><replaceable class="PARAMETER">variable</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
A settable run-time parameter.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><replaceable class="PARAMETER">value</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
New value of parameter. <option>DEFAULT</option> can be
|
|
used to specify resetting the parameter to its default
|
|
value. Lists of strings are allowed, but more complex
|
|
constructs may need to be single or double quoted.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect2>
|
|
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1 id="R1-SQL-SET-1">
|
|
<title>Description</title>
|
|
<para>
|
|
The <command>SET</command> command changes run-time configuration
|
|
parameters. The following parameters can be altered:
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>CLIENT_ENCODING</term>
|
|
<term>NAMES</term>
|
|
<listitem>
|
|
<para>
|
|
Sets the multi-byte client encoding. The specified encoding
|
|
must be supported by the backend.
|
|
</para>
|
|
|
|
<para>
|
|
This option is only available if
|
|
<productname>Postgres</productname> is build with multibyte
|
|
support.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>DATESTYLE</term>
|
|
<listitem>
|
|
<para>
|
|
Choose the date/time representation style. Two separate
|
|
settings are made: the default date/time output and the
|
|
interpretation of ambiguous input.
|
|
</para>
|
|
|
|
<para>
|
|
The following are date/time output styles:
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>ISO</term>
|
|
<listitem>
|
|
<para>
|
|
Use ISO 8601-style dates and times (<literal>YYYY-MM-DD
|
|
HH:MM:SS</literal>). This is the default.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>SQL</term>
|
|
<listitem>
|
|
<para>
|
|
Use Oracle/Ingres-style dates and times. Note that this
|
|
style has nothing to do with SQL (which mandates ISO 8601
|
|
style), the naming of this option is a historical accident.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Postgres</term>
|
|
<listitem>
|
|
<para>
|
|
Use traditional <productname>Postgres</productname> format.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>German</term>
|
|
<listitem>
|
|
<para>
|
|
Use <literal>dd.mm.yyyy</literal> for numeric date representations.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
The following two options determine both a substyle of the
|
|
<quote>SQL</quote> and <quote>Postgres</quote> output formats
|
|
and the preferred interpretation of ambiguous date input.
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>European</term>
|
|
<listitem>
|
|
<para>
|
|
Use <literal>dd/mm/yyyy</literal> for numeric date representations.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>NonEuropean</term>
|
|
<term>US</term>
|
|
<listitem>
|
|
<para>
|
|
Use <literal>mm/dd/yyyy</literal> for numeric date representations.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
A value for <command>SET DATESTYLE</command> can be one from
|
|
the first list (output styles), or one from the second list
|
|
(substyles), or one from each separated by a comma.
|
|
</para>
|
|
|
|
<para>
|
|
Date format initialization may be done by:
|
|
<simplelist>
|
|
<member>
|
|
Setting the <envar>PGDATESTYLE</envar> environment variable.
|
|
If PGDATESTYLE is set in the frontend environment of a client
|
|
based on libpq, libpq will automatically set DATESTYLE to the
|
|
value of PGDATESTYLE during connection startup.
|
|
</member>
|
|
<member>
|
|
Running postmaster using the option <option>-o -e</option> to
|
|
set dates to the <literal>European</literal> convention.
|
|
</member>
|
|
</simplelist>
|
|
</para>
|
|
<para>
|
|
The <option>DateStyle</option> option is really only intended
|
|
for porting applications. To format your date/time values to
|
|
choice, use the <function>to_char</function> family of
|
|
functions.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>SEED</term>
|
|
<listitem>
|
|
<para>
|
|
Sets the internal seed for the random number generator.
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><replaceable class="parameter">value</replaceable></term>
|
|
<listitem>
|
|
<para>
|
|
The value for the seed to be used by the
|
|
<function>random</function> catalog function. Significant
|
|
values are floating point numbers between 0 and 1, which
|
|
are then multiplied by RAND_MAX. This product will
|
|
silently overflow if a number outside the range is used.
|
|
</para>
|
|
|
|
<para>
|
|
The seed can also be set by invoking the
|
|
<function>setseed</function> SQL function:
|
|
|
|
<programlisting>
|
|
SELECT setseed(<replaceable>value</replaceable>);
|
|
</programlisting>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>SERVER_ENCODING</term>
|
|
<listitem>
|
|
<para>
|
|
Sets the multi-byte server encoding.
|
|
</para>
|
|
|
|
<para>
|
|
This option is only available if
|
|
<productname>Postgres</productname> was built with multibyte
|
|
support.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>TIME ZONE</term>
|
|
<term>TIMEZONE</term>
|
|
<listitem>
|
|
<para>
|
|
The possible values for timezone depends on your operating
|
|
system. For example, on Linux
|
|
<filename>/usr/share/zoneinfo</filename> contains the database
|
|
of time zones.
|
|
</para>
|
|
<para>
|
|
Here are some valid values for timezone:
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>PST8PDT</term>
|
|
<listitem>
|
|
<para>
|
|
Set the time zone for California.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>Portugal</term>
|
|
<listitem>
|
|
<para>
|
|
Set time zone for Portugal.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>'Europe/Rome'</term>
|
|
<listitem>
|
|
<para>
|
|
Set time zone for Italy.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>LOCAL</term>
|
|
<term>DEFAULT</term>
|
|
<listitem>
|
|
<para>
|
|
Set the time zone to your local time zone (the one that
|
|
your operating system defaults to).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
If an invalid time zone is specified, the time zone
|
|
becomes GMT (on most systems anyway).
|
|
</para>
|
|
<para>
|
|
If the PGTZ environment variable is set in the frontend
|
|
environment of a client based on libpq, libpq will automatically
|
|
set TIMEZONE to the value of PGTZ during connection startup.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
|
|
<para>
|
|
An extended list of other run-time parameters can be found in the
|
|
<citetitle>Administrator's Guide</citetitle>.
|
|
</para>
|
|
|
|
<para>
|
|
Use <xref linkend="SQL-SHOW" endterm="SQL-SHOW-title"> to show the
|
|
current setting of a parameters.
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Diagnostics</title>
|
|
<para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><computeroutput>SET VARIABLE</computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
Message returned if successful.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>ERROR: not a valid option name: <replaceable>name</replaceable></computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
The parameter you tried to set does not exist.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>ERROR: permission denied</computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
You must be a superuser to have access to certain settings.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><computeroutput>ERROR: <replaceable>name</replaceable> can only be set at startup</computeroutput></term>
|
|
<listitem>
|
|
<para>
|
|
Some parameters are fixed once the server is started.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
<para>
|
|
Set the style of date to traditional Postgres with European conventions:
|
|
<screen>
|
|
SET DATESTYLE TO Postgres,European;
|
|
</screen>
|
|
|
|
Set the timezone for Berkeley, California, using double quotes to
|
|
preserve the uppercase attributes of the time zone specifier (note
|
|
that the date/time format is ISO here):
|
|
|
|
<screen>
|
|
SET TIME ZONE "PST8PDT";
|
|
SELECT CURRENT_TIMESTAMP AS today;
|
|
|
|
today
|
|
------------------------
|
|
1998-03-31 07:41:21-08
|
|
</screen>
|
|
|
|
Set the timezone for Italy (note the required single or double quotes to handle
|
|
the special characters):
|
|
|
|
<screen>
|
|
SET TIME ZONE 'Europe/Rome';
|
|
SELECT CURRENT_TIMESTAMP AS today;
|
|
|
|
today
|
|
------------------------
|
|
1998-03-31 17:41:31+02
|
|
</screen>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 id="R1-SQL-SET-3">
|
|
<title>Compatibility</title>
|
|
|
|
<para>
|
|
The second syntax shown above (<literal>SET TIME ZONE</literal>)
|
|
attempts to mimic <acronym>SQL92</acronym>. However, SQL allows
|
|
only numeric time zone offsets. All other parameter settings as
|
|
well as the first syntax shown above are a
|
|
<productname>Postgres</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:
|
|
-->
|