SET
Changes the value of a runtime Relyt configuration parameter.
Syntax
SET [ SESSION | LOCAL ] <config_param> { TO | = } { <value> | '<value>' | DEFAULT }
SET [SESSION | LOCAL] TIME ZONE { <value> | '<value>' | LOCAL | DEFAULT }
Description
You can use SET to change the values for a configuration parameter. The new value works only for the current session.
Suppose a transaction that includes SET or SET SESSION is running. If the transaction is rolled back after SET or SET SESSION is run, the new configuration parameter setting specified by the SET or SET SESSION is also rolled back. If the transaction is committed, the new configuration parameter setting is effective until the session ends, unless being overridden by another SET.
Parameters
-
SESSION or LOCAL
The effective scope of the new setting. Possible options include:
SESSION: specifies that the change is effective only for the current session and is the default.LOCAL: specifies that the change is effective only for the current transaction.
-
<config_param>The name of the configuration parameter.
-
<value>orDEFAULTThe new value of the parameter. The data type of the value is determined by the configuration parameter and can be string constant, identifier, number, or comma-separated list of them. You can use
DEFAULTto set the configuration parameter to its default. If the value indicates the memory size or time, use a pair of single quotes (' ') to enclose the value. -
SCHEMASET SCHEMA 'value'can be used to replaceSET search_path TO <value>to change the search path for a schema. Only one schema can be specified using the syntax. -
NAMESSET NAMES <value>can be used to replaceSET client_encoding TO <value>to change the character encoding. -
SEEDUse
SEEDto set the internal seed for the random number generator (the functionrandom()). Possible values are floating-point numbers that range from -1 to 1.Relyt also allows you to invoke function
setseed()to reset the seed. Following shows the syntax:SELECT setseed(value); -
TIME ZONESET TIME ZONE <value>can be used to replaceSET timezone TO <value>to reset the time zone. Following are value examples of value:'Europe/Rome'-7(time zone 7 hours west from UTC)INTERVAL '-08:00' HOUR TO MINUTE(time zone 8 hours west from UTC)
-
LOCALorDEFAULTSpecifies to use local time zone or the default time zone.
Examples
Set the schema search path:
SET search_path TO my_schema, public;
Increase the segment host memory per query to 200 MB:
SET statement_mem TO '200MB';
Set the style of date to traditional POSTGRES with "day before month" input convention:
SET datestyle TO postgres, dmy;
Set the time zone for Italy:
SET TIME ZONE 'Europe/Rome';
SQL standard compatibility
All SET features are Relyt extensions, except SET TIME ZONE.
SET TIME ZONE in Relyt is fully compatible with SET TIME ZONE in the SQL standard and extends its support for more flexible time-zone specifications, while SET TIME ZONE in the SQL standard supports only numeric time zone offsets.