blob: 4f4ad24fe8fb5c1d63170c0793b6f5a691c0daef [file] [log] [blame]
---
title: SET
---
Changes the value of a HAWQ configuration parameter.
## <a id="topic1__section2"></a>Synopsis
``` pre
SET [SESSION | LOCAL] <configuration_parameter> {TO | =} {<value> | '<value>' | DEFAULT}
SET [SESSION | LOCAL] TIME ZONE {<timezone> | LOCAL | DEFAULT}
```
## <a id="topic1__section3"></a>Description
The `SET` command changes server configuration parameters. Any configuration parameter classified as a *session* parameter can be changed on-the-fly with `SET`. See [About Server Configuration Parameters](../guc/guc_config.html#topic1). `SET` only affects the value used by the current session.
If `SET` or `SET SESSION` is issued within a transaction that is later aborted, the effects of the `SET` command disappear when the transaction is rolled back. Once the surrounding transaction is committed, the effects will persist until the end of the session, unless overridden by another `SET`.
The effects of `SET LOCAL` only last till the end of the current transaction, whether committed or not. A special case is `SET` followed by `SET LOCAL` within a single transaction: the `SET LOCAL` value will be seen until the end of the transaction, but afterwards (if the transaction is committed) the `SET` value will take effect.
## <a id="topic1__section4"></a>Parameters
<dt>SESSION </dt>
<dd>Specifies that the command takes effect for the current session. This is the default.</dd>
<dt>LOCAL </dt>
<dd>Specifies that the command takes effect for only the current transaction. After `COMMIT` or `ROLLBACK`, the session-level setting takes effect again. Note that `SET LOCAL` will appear to have no effect if it is executed outside of a transaction.</dd>
<dt> \<configuration\_parameter\> </dt>
<dd>The name of a HAWQ configuration parameter. Only parameters classified as *session* can be changed with `SET`. See [About Server Configuration Parameters](../guc/guc_config.html#topic1).</dd>
<dt> \<value\> </dt>
<dd>New value of parameter. Values can be specified as string constants, identifiers, numbers, or comma-separated lists of these. `DEFAULT` can be used to specify resetting the parameter to its default value. If specifying memory sizing or time units, enclose the value in single quotes.</dd>
<dt>TIME ZONE </dt>
<dd>`SET TIME ZONE` value is an alias for `SET timezone TO value`.
<dt>LOCAL,
DEFAULT </dt>
<dd>Set the time zone to your local time zone (the one that the server's operating system defaults to).</dd>
<dt> \<timezone\> </dt>
<dd>The \<timezone\> specification. Examples of syntactically valid values:
`'PST8PDT'`
`'Europe/Rome'`
`-7` (time zone 7 hours west from UTC)
`INTERVAL '-08:00' HOUR TO MINUTE` (time zone 8 hours west from UTC).</dd>
</dd>
## <a id="topic1__section5"></a>Examples
Set the schema search path:
``` sql
SET search_path TO my_schema, public;
```
Set the style of date to traditional POSTGRES with "day before month" input convention:
``` sql
SET datestyle TO postgres, dmy;
```
Set the time zone for San Mateo, California (Pacific Time):
``` sql
SET TIME ZONE 'PST8PDT';
```
Set the time zone for Italy:
``` sql
SET TIME ZONE 'Europe/Rome';
```
## <a id="topic1__section6"></a>Compatibility
`SET TIME ZONE` extends the syntax defined in the SQL standard. The standard allows only numeric time zone offsets while HAWQ allows more flexible time-zone specifications. All other `SET` features are HAWQ extensions.
## <a id="topic1__section7"></a>See Also
[RESET](RESET.html), [SHOW](SHOW.html)