diff options
Diffstat (limited to 'doc/src/sgml/ref/set.sgml')
-rw-r--r-- | doc/src/sgml/ref/set.sgml | 1325 |
1 files changed, 670 insertions, 655 deletions
diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml index bac4c069148..12c9e47fcc5 100644 --- a/doc/src/sgml/ref/set.sgml +++ b/doc/src/sgml/ref/set.sgml @@ -1,689 +1,704 @@ <REFENTRY ID="SQL-SET"> -<REFMETA> -<REFENTRYTITLE> -SET -</REFENTRYTITLE> -<REFMISCINFO>SQL - Language Statements</REFMISCINFO> -</REFMETA> -<REFNAMEDIV> -<REFNAME> -SET -</REFNAME> -<REFPURPOSE> + <REFMETA> + <REFENTRYTITLE> + SET + </REFENTRYTITLE> + <REFMISCINFO>SQL - Language Statements</REFMISCINFO> + </REFMETA> + <REFNAMEDIV> + <REFNAME> + SET + </REFNAME> + <REFPURPOSE> Set run-time parameters for session -</REFPURPOSE> - </refnamediv> -<REFSYNOPSISDIV> -<REFSYNOPSISDIVINFO> -<DATE>1998-09-24</DATE> -</REFSYNOPSISDIVINFO> -<SYNOPSIS> -<REPLACEABLE CLASS="PARAMETER"> -</REPLACEABLE> + </REFPURPOSE> + </refnamediv> + <REFSYNOPSISDIV> + <REFSYNOPSISDIVINFO> + <DATE>1998-09-24</DATE> + </REFSYNOPSISDIVINFO> + <SYNOPSIS> SET <REPLACEABLE CLASS="PARAMETER">variable</REPLACEABLE> { TO | = } { '<REPLACEABLE CLASS="PARAMETER">value</REPLACEABLE>' | DEFAULT } SET TIME ZONE { '<REPLACEABLE CLASS="PARAMETER">timezone</REPLACEABLE>' | LOCAL }; -</SYNOPSIS> + </SYNOPSIS> - <REFSECT2 ID="R2-SQL-SET-1"> - <REFSECT2INFO> - <DATE>1998-09-24</DATE> - </REFSECT2INFO> - <TITLE> - Inputs - </TITLE> - <PARA> + <REFSECT2 ID="R2-SQL-SET-1"> + <REFSECT2INFO> + <DATE>1998-09-24</DATE> + </REFSECT2INFO> + <TITLE> + Inputs + </TITLE> + <PARA> - <VARIABLELIST> - <VARLISTENTRY> - <TERM> - <REPLACEABLE CLASS="PARAMETER">variable</REPLACEABLE> - </TERM> - <LISTITEM> - <para> - Settable global parameter. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <REPLACEABLE CLASS="PARAMETER">value</REPLACEABLE> - </term> - <listitem> - <PARA> - New value of parameter. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - The possible variables and allowed values are: + <VARIABLELIST> + <VARLISTENTRY> + <TERM> + <REPLACEABLE CLASS="PARAMETER">variable</REPLACEABLE> + </TERM> + <LISTITEM> + <para> + Settable global parameter. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <REPLACEABLE CLASS="PARAMETER">value</REPLACEABLE> + </term> + <listitem> + <PARA> + New value of parameter. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + The possible variables and allowed values are: - <VARIABLELIST> - <VARLISTENTRY> - <TERM> - DateStyle - </TERM> - <LISTITEM> - <PARA> + <VARIABLELIST> + <VARLISTENTRY> + <TERM> + DateStyle + </TERM> + <LISTITEM> + <PARA> + + <VARIABLELIST> + <VARLISTENTRY> + <TERM> + ISO + </TERM> + <LISTITEM> + <PARA> + use ISO 8601-style dates and times + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + SQL + </TERM> + <LISTITEM> + <PARA> + use Oracle/Ingres-style dates and times + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + Postgres + </TERM> + <LISTITEM> + <PARA> + use traditional <productname>Postgres</productname> format + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + European + </TERM> + <LISTITEM> + <PARA> + use dd/mm/yyyy for numeric date representations. + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + NonEuropean + </TERM> + <LISTITEM> + <PARA> + use mm/dd/yyyy for numeric date representations. + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + German + </TERM> + <LISTITEM> + <PARA> + use dd.mm.yyyy for numeric date representations. + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + US + </TERM> + <LISTITEM> + <PARA> + same as 'NonEuropean' + </para> + </listitem> + </varlistentry> + <VARLISTENTRY> + <TERM> + default + </TERM> + <LISTITEM> + <PARA> + restores the default values ('US,Postgres') + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + Date format initialization my be done by: + <simplelist> + <member> + Setting PGDATESTYLE environment variable. + </member> + <member> + Running postmaster using -oe parameter to set + dates to the 'European' convention. + Note that this affects only the some combinations of date styles; for example + the ISO style is not affected by this parameter. + </member> + <member> + Changing variables in + <filename>src/backend/utils/init/globals.c</filename>. + </member> + </simplelist> + </para> + <para> + The variables in <filename>globals.c</filename> which can be changed are: + <simplelist> + <member> + bool EuroDates = false | true + </member> + <member> + int DateStyle = USE_ISO_DATES | USE_POSTGRES_DATES | USE_SQL_DATES | USE_GERMAN_DATES + </member> + </simplelist> + + </para> + <para> + <variablelist> + <varlistentry> + <term> + TIMEZONE + </term> + <listitem> + <para> + The possible values for timezone depends on your operating + system. For example on Linux /usr/lib/zoneinfo contains the + database of timezones. + </para> + <para> + Here are some valid values for timezone: - <VARIABLELIST> - <VARLISTENTRY> - <TERM> - ISO - </TERM> - <LISTITEM> - <PARA> - use ISO 8601-style dates and times - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - SQL - </TERM> - <LISTITEM> - <PARA> - use Oracle/Ingres-style dates and times - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - Postgres - </TERM> - <LISTITEM> - <PARA> - use traditional <productname>Postgres</productname> format - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - European - </TERM> - <LISTITEM> - <PARA> - use dd/mm/yyyy for numeric date representations. - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - NonEuropean - </TERM> - <LISTITEM> - <PARA> - use mm/dd/yyyy for numeric date representations. - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - German - </TERM> - <LISTITEM> - <PARA> - use dd.mm.yyyy for numeric date representations. - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - US - </TERM> - <LISTITEM> - <PARA> - same as 'NonEuropean' - </para> - </listitem> - </varlistentry> - <VARLISTENTRY> - <TERM> - default - </TERM> - <LISTITEM> - <PARA> - restores the default values ('US,Postgres') - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - </listitem> - </varlistentry> - </variablelist> - </para> + <variablelist> + <varlistentry> + <term> + 'PST8PDT' + </term> + <listitem> + <para> + set the timezone 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> + DEFAULT + </term> + <listitem> + <para> + set time zone to your local timezone + (value of the TZ environment variable). + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + If an invalid time zone is specified, the time zone + becomes GMT (on most systems anyway). + </para> + <para> + A frontend which uses libpq may be initialized by setting the PGTZ + environment variable. + </para> + <para> + The second syntax shown above, allows one to set the timezone + with a syntax similar to SQL92 <command>SET TIME ZONE</command>. + The LOCAL keyword is just an alternate form + of DEFAULT for SQL92 compatibility. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + There are also several internal or optimization + parameters which can be specified + by the <command>SET</command> command: + + <variablelist> + <varlistentry> + <term> + COST_HEAP + </term> + <listitem> + <para> + Sets the default cost of a heap scan for use by the optimizer. + + <variablelist> + <varlistentry> + <term> + <replaceable class="parameter">float4</replaceable> + </term> + <listitem> + <para> + Set the cost of a heap scan to the specified floating point value. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + DEFAULT + </term> + <listitem> + <para> + Sets the cost of a heap scan to the default value. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + The frontend may be initialized by setting the PGCOSTHEAP + environment variable. + </para> + <variablelist> + <varlistentry> + <term> + COST_INDEX + </term> + <listitem> <para> - Date format initialization my be done by: - <simplelist> - <member> - Setting PGDATESTYLE environment variable. - </member> - <member> - Running postmaster using -oe parameter to set - dates to the 'European' convention. - Note that this affects only the some combinations of date styles; for example - the ISO style is not affected by this parameter. - </member> - <member> - Changing variables in - <filename>src/backend/utils/init/globals.c</filename>. - </member> - </simplelist> + Sets the default cost of an index scan for use by the optimizer. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <replaceable class="parameter">float4</replaceable> + </term> + <listitem> <para> - The variables in <filename>globals.c</filename> which can be changed are: - <programlisting> - bool EuroDates = false - true - int DateStyle = USE_ISO_DATES - USE_POSTGRES_DATES - USE_ISO_DATES - USE_SQL_DATES - USE_GERMAN_DATES - </programlisting> + Set the cost of an index scan to the specified floating point value. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + DEFAULT + </term> + <listitem> <para> - <variablelist> - <varlistentry> - <term> - TIMEZONE - </term> - <listitem> - <para> - The possible values for timezone depends on your operating - system. For example on Linux /usr/lib/zoneinfo contains the - database of timezones. - </para> - <para> - Here are some valid values for timezone: - - <variablelist> - <varlistentry> - <term> - 'PST8PDT' - </term> - <listitem> - <para> - set the timezone 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> - DEFAULT - </term> - <listitem> - <para> - set time zone to your local timezone - (value of the TZ environment variable). - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - If an invalid time zone is specified, the time zone - becomes GMT (on most systems anyway). - </para> - <para> - A frontend which uses libpq may be initialized by setting the PGTZ - environment variable. - </para> - <para> - The second syntax shown above, allows one to set the timezone - with a syntax similar to SQL92 <command>SET TIME ZONE</command>. - The LOCAL keyword is just an alternate form - of DEFAULT for SQL92 compatibility. - </para> - </listitem> - </varlistentry> - </variablelist> + Sets the cost of an index scan to the default value. </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + The frontend may be initialized by setting the PGCOSTINDEX + environment variable. + + <variablelist> + <varlistentry> + <term> + GEQO + </term> + <listitem> + <para> + Sets the threshold for using the genetic optimizer algorithm. + </para> + + <variablelist> + <varlistentry> + <term> + On + </term> + <listitem> <para> - There are also several internal or optimization - parameters which can be specified - by the <command>SET</command> command: - - <variablelist> - <varlistentry> - <term> - COST_HEAP - </term> - <listitem> - <para> - Sets the default cost of a heap scan for use by the optimizer. - - <variablelist> - <varlistentry> - <term> - <replaceable class="parameter">float4</replaceable> - </term> - <listitem> - <para> - Set the cost of a heap scan to the specified floating point value. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - DEFAULT - </term> - <listitem> - <para> - Sets the cost of a heap scan to the default value. - </para> - </listitem> - </varlistentry> - </variablelist> - </para> - <para> - The frontend may be initialized by setting the PGCOSTHEAP - environment variable. - </para> - <variablelist> - <varlistentry> - <term> - COST_INDEX - </term> - <listitem> - <para> - Sets the default cost of an index scan for use by the optimizer. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <replaceable class="parameter">float4</replaceable> - </term> - <listitem> - <para> - Set the cost of an index scan to the specified floating point value. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - DEFAULT - </term> - <listitem> - <para> - Sets the cost of an index scan to the default value. - </para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - </variablelist> + enables the genetic optimizer algorithm + for statements with 6 or more tables. </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + On=<replaceable class="parameter">#</replaceable> + </term> + <listitem> <para> - The frontend may be initialized by setting the PGCOSTINDEX - environment variable. - - <variablelist> - <varlistentry> - <term> - GEQO - </term> - <listitem> - <para> - Sets the threshold for using the genetic optimizer algorithm. - </para> - - <variablelist> - <varlistentry> - <term> - On - </term> - <listitem> - <para> - enables the genetic optimizer algorithm - for statements with 6 or more tables. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - On=<replaceable class="parameter">#</replaceable> - </term> - <listitem> - <para> - Takes an integer argument to enable the genetic optimizer algorithm - for statements with <replaceable class="parameter">#</replaceable> - or more tables in the query. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - Off - </term> - <listitem> - <para> - disables the genetic optimizer algorithm. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - DEFAULT - </term> - <listitem> - <para> - Equivalent to specifying <command>SET GEQO='on'</command> - </para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - </variablelist> + Takes an integer argument to enable the genetic optimizer algorithm + for statements with <replaceable class="parameter">#</replaceable> + or more tables in the query. </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + Off + </term> + <listitem> <para> - This algorithm is on by default, which used GEQO for - statements of eleven or more tables. - (See the chapter on GEQO in the Programmer's Guide - for more information). + disables the genetic optimizer algorithm. </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + DEFAULT + </term> + <listitem> <para> - The frontend may be initialized by setting PGGEQO - environment variable. + Equivalent to specifying <command>SET GEQO='on'</command> </para> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + This algorithm is on by default, which used GEQO for + statements of eleven or more tables. + (See the chapter on GEQO in the Programmer's Guide + for more information). + </para> + <para> + The frontend may be initialized by setting PGGEQO + environment variable. + </para> + <para> + It may be useful when joining big relations with + small ones. This algorithm is off by default. + It's not used by GEQO anyway. + + <variablelist> + <varlistentry> + <term> + KSQO + </term> + <listitem> + <para> + <firstterm>Key Set Query Optimizer</firstterm> forces the query optimizer + to optimize repetative OR clauses such as generated by + <productname>MicroSoft Access</productname>: + </para> + + <variablelist> + <varlistentry> + <term> + On + </term> + <listitem> <para> - It may be useful when joining big relations with - small ones. This algorithm is off by default. - It's not used by GEQO anyway. - - <variablelist> - <varlistentry> - <term> - KSQO - </term> - <listitem> - <para> - <firstterm>Key Set Query Optimizer</firstterm> forces the query optimizer - to optimize repetative OR clauses such as generated by - <productname>MicroSoft Access</productname>: - </para> - - <variablelist> - <varlistentry> - <term> - On - </term> - <listitem> - <para> - enables this optimization. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - Off - </term> - <listitem> - <para> - disables this optimization. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - DEFAULT - </term> - <listitem> - <para> - Equivalent to specifying <command>SET KSQO='off'</command>. - </para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - </variablelist> + enables this optimization. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + Off + </term> + <listitem> <para> - It may be useful when joining big relations with - small ones. This algorithm is off by default. - It's not used by GEQO anyway. + disables this optimization. </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + DEFAULT + </term> + <listitem> <para> - The frontend may be initialized by setting the PGKSQO - environment variable. - <variablelist> - <varlistentry> - <term> - QUERY_LIMIT - </term> - <listitem> - <para> - Sets the number of rows returned by a query. - </para> - - <variablelist> - <varlistentry> - <term> - Value - </term> - <listitem> - <para> - Maximum number of rows to return for a query. The default is to allow - an unlimited number of rows. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <replaceable class="parameter">#</replaceable> - </term> - <listitem> - <para> - Sets the maximum number of rows returned by a - query to <replaceable class="parameter">#</replaceable>. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term> - DEFAULT - </term> - <listitem> - <para> - Sets the maximum number of rows returned by a query to be unlimited. - </para> - </listitem> - </varlistentry> - </variablelist> - <para> - By default, there is no limit to the number of rows - returned by a query. - </para> - </listitem> - </varlistentry> - </variablelist> + Equivalent to specifying <command>SET KSQO='off'</command>. </para> - </REFSECT2> - - <REFSECT2 ID="R2-SQL-SET-2"> - <REFSECT2INFO> - <DATE>1998-09-24</DATE> - </REFSECT2INFO> - <TITLE> - Outputs - </TITLE> - <PARA> - - <VARIABLELIST> - <VARLISTENTRY> - <TERM> - <returnvalue>SET VARIABLE</returnvalue> - </TERM> - <LISTITEM> - <PARA> - Message returned if successfully. - </para> - </listitem> - </varlistentry> - - <VARLISTENTRY> - <TERM> - <returnvalue>WARN: Bad value for <replaceable class="parameter">variable</replaceable> (<replaceable class="parameter">value</replaceable>)</returnvalue> - </TERM> - <LISTITEM> - <PARA> - If the command fails to set variable. - </para> - </listitem> - </varlistentry> - - </VARIABLELIST> + </listitem> + </varlistentry> + </variablelist> + </listitem> + </varlistentry> + </variablelist> + </para> + <para> + It may be useful when joining big relations with + small ones. This algorithm is off by default. + It's not used by GEQO anyway. + </para> + <para> + The frontend may be initialized by setting the PGKSQO + environment variable. + <variablelist> + <varlistentry> + <term> + QUERY_LIMIT + </term> + <listitem> + <para> + Sets the number of rows returned by a query. + </para> + + <variablelist> + <varlistentry> + <term> + Value + </term> + <listitem> + <para> + Maximum number of rows to return for a query. The default is to allow + an unlimited number of rows. </para> - </REFSECT2> - </REFSYNOPSISDIV> - - <REFSECT1 ID="R1-SQL-SET-1"> - <REFSECT1INFO> - <DATE>1998-09-24</DATE> - </REFSECT1INFO> - <TITLE> - Description - </TITLE> - <PARA> - <command>SET</command> will modify configuration parameters for variable during - a session. - </para> - <para> - Current values can be obtained using <command>SHOW</command>, and values - can be restored to the defaults using <command>RESET</command>. - Parameters and values are case-insensitive. Note that the value - field is always specified as a string, so is enclosed in - single-quotes. - </para> - <para> - <command>SET TIME ZONE</command> changes the session's - default time zone offset. - A SQL-session always begins with an initial default time zone - offset. - The <command>SET TIME ZONE</command> statement is used to change the default - time zone offset for the current SQL session. - </para> - - <REFSECT2 ID="R2-SQL-SET-3"> - <REFSECT2INFO> - <DATE>1998-09-24</DATE> - </REFSECT2INFO> - <TITLE> - Notes - </TITLE> - <PARA> - The <command>SET <replaceable class="parameter">variable</replaceable></command> - statement is a <productname>Postgres</productname> language extension. + </listitem> + </varlistentry> + <varlistentry> + <term> + <replaceable class="parameter">#</replaceable> + </term> + <listitem> + <para> + Sets the maximum number of rows returned by a + query to <replaceable class="parameter">#</replaceable>. </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + DEFAULT + </term> + <listitem> <para> - Refer to <command>SHOW</command> and <command>RESET</command> to - display or reset the current values. + Sets the maximum number of rows returned by a query to be unlimited. </para> - </REFSECT2> - </REFSECT1> - - <REFSECT1 ID="R1-SQL-SET-2"> - <TITLE> - Usage - </TITLE> - <PARA> - </PARA> - <ProgramListing> - --Set the style of date to ISO: - -- - SET DATESTYLE TO 'ISO'; - </programlisting> - <programlisting> - --Enable GEQO for queries with 4 or more tables - -- - SET GEQO ON=4; - </programlisting> - <programlisting> - --Set GEQO to default: - -- - SET GEQO = DEFAULT; - </programlisting> - <programlisting> - --set the timezone for Berkeley, California: - SET TIME ZONE 'PST8PDT'; - - SELECT CURRENT_TIMESTAMP AS today; - - today - ---------------------- - 1998-03-31 07:41:21-08 - </programlisting> - <programlisting> - --set the timezone for Italy: - SET TIME ZONE 'Europe/Rome'; - - SELECT CURRENT_TIMESTAMP AS today; - - today - ---------------------- - 1998-03-31 17:41:31+02 - </ProgramListing> - - </REFSECT1> + </listitem> + </varlistentry> + </variablelist> + <para> + By default, there is no limit to the number of rows + returned by a query. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </REFSECT2> + + <REFSECT2 ID="R2-SQL-SET-2"> + <REFSECT2INFO> + <DATE>1998-09-24</DATE> + </REFSECT2INFO> + <TITLE> + Outputs + </TITLE> + <PARA> + + <VARIABLELIST> + <VARLISTENTRY> + <TERM> + <returnvalue>SET VARIABLE</returnvalue> + </TERM> + <LISTITEM> + <PARA> + Message returned if successfully. + </para> + </listitem> + </varlistentry> + + <VARLISTENTRY> + <TERM> + <returnvalue>WARN: Bad value for <replaceable class="parameter">variable</replaceable> (<replaceable class="parameter">value</replaceable>)</returnvalue> + </TERM> + <LISTITEM> + <PARA> + If the command fails to set variable. + </para> + </listitem> + </varlistentry> + + </VARIABLELIST> + </para> + </REFSECT2> + </REFSYNOPSISDIV> + + <REFSECT1 ID="R1-SQL-SET-1"> + <REFSECT1INFO> + <DATE>1998-09-24</DATE> + </REFSECT1INFO> + <TITLE> + Description + </TITLE> + <PARA> + <command>SET</command> will modify configuration parameters for variable during + a session. + </para> + <para> + Current values can be obtained using <command>SHOW</command>, and values + can be restored to the defaults using <command>RESET</command>. + Parameters and values are case-insensitive. Note that the value + field is always specified as a string, so is enclosed in + single-quotes. + </para> + <para> + <command>SET TIME ZONE</command> changes the session's + default time zone offset. + A SQL-session always begins with an initial default time zone + offset. + The <command>SET TIME ZONE</command> statement is used to change the default + time zone offset for the current SQL session. + </para> + + <REFSECT2 ID="R2-SQL-SET-3"> + <REFSECT2INFO> + <DATE>1998-09-24</DATE> + </REFSECT2INFO> + <TITLE> + Notes + </TITLE> + <PARA> + The <command>SET <replaceable class="parameter">variable</replaceable></command> + statement is a <productname>Postgres</productname> language extension. + </para> + <para> + Refer to <command>SHOW</command> and <command>RESET</command> to + display or reset the current values. + </para> + </REFSECT2> + </REFSECT1> + + <REFSECT1 ID="R1-SQL-SET-2"> + <TITLE> + Usage + </TITLE> + <PARA> + </PARA> + <ProgramListing> + --Set the style of date to ISO: + -- + SET DATESTYLE TO 'ISO'; + </programlisting> + <programlisting> + --Enable GEQO for queries with 4 or more tables + -- + SET GEQO ON=4; + </programlisting> + <programlisting> + --Set GEQO to default: + -- + SET GEQO = DEFAULT; + </programlisting> + <programlisting> + --set the timezone for Berkeley, California: + SET TIME ZONE 'PST8PDT'; + + SELECT CURRENT_TIMESTAMP AS today; + + today + ---------------------- + 1998-03-31 07:41:21-08 + </programlisting> + <programlisting> + --set the timezone for Italy: + SET TIME ZONE 'Europe/Rome'; + + SELECT CURRENT_TIMESTAMP AS today; + + today + ---------------------- + 1998-03-31 17:41:31+02 + </ProgramListing> + + </REFSECT1> - <REFSECT1 ID="R1-SQL-SET-3"> - <TITLE> - Compatibility - </TITLE> - <PARA> - </PARA> - - <REFSECT2 ID="R2-SQL-SET-4"> - <REFSECT2INFO> - <DATE>1998-09-24</DATE> - </REFSECT2INFO> - <TITLE> - SQL92 - </TITLE> - <PARA> - There is no - <command>SET <replaceable class="parameter">variable</replaceable></command> - in <acronym>SQL92</acronym>. - - The <acronym>SQL92</acronym> syntax for <command>SET TIME ZONE</command> - is slightly different, - allowing only a single integer value for time zone specification: - - <programlisting> - SET TIME ZONE { interval_value_expression | LOCAL } - </programlisting> - </para> - </refsect2> - </refsect1> + <REFSECT1 ID="R1-SQL-SET-3"> + <TITLE> + Compatibility + </TITLE> + <PARA> + </PARA> + + <REFSECT2 ID="R2-SQL-SET-4"> + <REFSECT2INFO> + <DATE>1998-09-24</DATE> + </REFSECT2INFO> + <TITLE> + SQL92 + </TITLE> + <PARA> + There is no + <command>SET <replaceable class="parameter">variable</replaceable></command> + in <acronym>SQL92</acronym>. + + The <acronym>SQL92</acronym> syntax for <command>SET TIME ZONE</command> + is slightly different, + allowing only a single integer value for time zone specification: + + <programlisting> + SET TIME ZONE { interval_value_expression | LOCAL } + </programlisting> + </para> + </refsect2> + </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: +--> |