1 - SET DATESTYLE

指定如何设置当前会话的日期/时间输出格式。使用 SHOW DATESTYLE 验证当前输出设置。

语法

SET DATESTYLE TO { arg | 'arg' }[, arg | 'arg' ]

参数

SET DATESTYLE 只有一个参数,该参数可以设置为一个或两个指定日期排序和样式的实参。每个实参可以单独指定或结合使用;如果结合,则可按任意顺序指定。

下表说明了每种样式及其支持的日期排序实参:

Vertica 将忽略 ISOGERMAN 日期样式的顺序实参。如果日期样式为 SQLPOSTGRES,则顺序设置将决定以 MDY 还是 DMY 顺序输出日期。SQLPOSTGRES 都不支持 YMD 顺序。如果为 YMDSQL 指定 POSTGRES,Vertica 将忽略该设置,并使用默认的 MDY 顺序。

日期样式和排序还会影响 Vertica 解释输入值的方式。有关详细信息,请参阅日期/时间字面量

特权

输入依赖项

在某些情况下,输入格式会决定输出格式,而不管日期样式和顺序的设置:

  • Vertica 中 DATESTYLE 的 ISO 输出为 ISO 长格式,但也接受某些输入样式。如果输入中最先出现年份,则将对输入和输出使用 YMD,而不考虑 DATESTYLE 值。

  • INTERVAL 输入和输出共用同一格式,以下内容除外:

    • CENTURYWEEK 等单位转换为年和日。

    • AGO 转换为相应符号。

    如果日期样式设置为 ISO,输出将遵照以下格式:

    [ quantity unit [...] ] [ days ] [ hours:minutes:seconds ]
    

示例

=> CREATE TABLE t(a DATETIME);
CREATE TABLE
=> INSERT INTO t values ('3/16/2016');
 OUTPUT
--------
      1
(1 row)

=> SHOW DATESTYLE;
   name    | setting
-----------+----------
 datestyle | ISO, MDY
(1 row)

=> SELECT * FROM t;
          a
---------------------
 2016-03-16 00:00:00
(1 row)

=> SET DATESTYLE TO German;
SET
=> SHOW DATESTYLE;
   name    |   setting
-----------+-------------
 datestyle | German, DMY
(1 row)

=> SELECT * FROM t;
          a
---------------------
 16.03.2016 00:00:00
(1 row)

=> SET DATESTYLE TO SQL;
SET
=> SHOW DATESTYLE;
   name    | setting
-----------+----------
 datestyle | SQL, DMY
(1 row)

=> SELECT * FROM t;
          a
---------------------
 16/03/2016 00:00:00
(1 row)

=> SET DATESTYLE TO Postgres, MDY;
SET
=> SHOW DATESTYLE;
   name    |    setting
-----------+---------------
 datestyle | Postgres, MDY
(1 row)

=> SELECT * FROM t;
            a
--------------------------
 Wed Mar 16 00:00:00 2016
(1 row)

2 - SET ESCAPE_STRING_WARNING

当前 会话期间,在字符串字面量中使用反斜杠时发出警告。

语法

SET ESCAPE_STRING_WARNING TO { ON | OFF }

参数

ON
[默认] 在字符串字面量中使用反斜杠时发出警告。

提示: 已升级较早版本的 Vertica 的组织可以将此参数用作调试工具,以查找过去被视为转义字符,但现在被视为字面量的反斜杠。

OFF
忽略字符串字面量内的反斜杠。

特权

注意

  • 此语句只能在 vsql 下使用。

  • 请先关闭标准一致性字符串,然后再开启此参数。

示例

以下示例显示了如何关闭会话的转义字符串警告。

=> SET ESCAPE_STRING_WARNING TO OFF;

另请参阅

3 - SET INTERVALSTYLE

指定是否在当前 会话的间隔输出中包含单位。

语法

SET INTERVALSTYLE TO [ plain | units ]

参数

plain
(默认值)设置默认间隔输出以忽略单位。
units
启用在间隔输出中包含子类单位标识符。当 INTERVALSTYLE 设置为单位时,DATESTYLE 参数将控制输出。如果启用了单位,但其未显示在输出中,请检查 DATESTYLE 参数值,该值必须设置为 ISOPOSTGRES 才能显示间隔单位。

特权

示例

请参阅设置间隔单位显示

4 - SET LOCALE

指定当前 会话的区域设置。

还可以使用 vsql 命令 \locale 设置当前区域设置。

语法

SET LOCALE TO ICU‑locale‑identifier

参数

locale‑identifier
指定要使用的 ICU 区域设置标识符,默认设置为:
en_US@collation=binary

如果设置为空字符串,Vertica 会将区域设置设为 en_US_POSIX

需要满足以下要求:

  • Vertica 仅支持 COLLATION 关键字。

  • 指定排序规则必须使用单引号。

特权

常用区域设置

有关标识符选项的详细信息,请参阅关于区域设置。有关区域设置标识符的完整列表,请参阅 ICU 项目

de_DE
德语(德国)
en_GB
英语(英国)
es_ES
西班牙语(西班牙)
fr_FR
法语(法国)
pt_BR
葡萄牙语(巴西)
pt_PT
葡萄牙语(葡萄牙)
ru_RU
俄语(俄罗斯)
ja_JP
日语(日本)
zh_CN
中文(中国,简体中文)
zh_Hant_TW
中文(台湾,繁体中文)

示例

将会话区域设置为 en_GB

=> SET LOCALE TO en_GB;
INFO 2567:  Canonical locale: 'en_GB'
Standard collation: 'LEN'
English (United Kingdom)
SET

使用区域设置的缩写:

=> SET LOCALE TO LEN;
INFO 2567:  Canonical locale: 'en'
Standard collation: 'LEN'
English
SET

指定排序规则:

=> SET LOCALE TO 'tr_tr@collation=standard';
INFO 2567:  Canonical locale: 'tr_TR@collation=standard'
Standard collation: 'LTR'
Turkish (Turkey, collation=standard)  Türkçe (Türkiye, Sıralama=standard)
SET

另请参阅

5 - SET ROLE

为用户的当前会话启用角色。用户可以访问授予该角色的特权。启用角色不会影响当前已启用的角色。

语法

SET ROLE roles‑expression

参数

roles‑expression
使用以下表达式之一指定此用户的默认角色:
  • NONE (默认值):禁用所有角色。

  • roles‑list: 要启用的角色列表,以逗号分隔。您只能设置当前已授予您的角色。

  • ALL [EXCEPT roles‑list]: 启用当前已授予此用户的所有角色,不包括在可选 EXCEPT 子句中指定的任何以逗号分隔的角色。

  • DEFAULT:启用所有默认角色。根据定义,默认角色会自动启用,但如果使用 SET ROLE NONE 禁用了这些角色,要重新启用这些角色,此选项可能很有用。

特权

示例

示例如下:

  • SHOW AVAILABLE_ROLES; 会列出用户可使用的角色,但不启用。

  • SET ROLE applogs; 为用户启用 applogs 角色。

  • SHOW ENABLED_ROLES; 将 applogs 角色列为已为用户启用 (SET)。

  • SET ROLE appuser; 为用户启用 appuser 角色。

  • SHOW ENABLED_ROLES 将 applogs 和 appuser 列为用户的已启用角色。

  • SET ROLE NONE 禁用用户的所有已启用角色。

  • SHOW ENABLED_ROLES 显示没有为用户启用任何角色。


=> SHOW AVAILABLE_ROLES;
      name       |          setting
-----------------+----------------------------
 available roles | applogs, appadmin, appuser
(1 row)

=> SET ROLE applogs;
SET
=> SHOW ENABLED_ROLES;
     name      | setting
---------------+---------
 enabled roles | applogs
(1 row)

=> SET ROLE appuser;
SET
=> SHOW ENABLED_ROLES;
     name      |     setting
---------------+------------------
 enabled roles | applogs, appuser
(1 row)

=> SET ROLE NONE;
SET


=> SHOW ENABLED_ROLES;
     name      | setting
---------------+---------
 enabled roles |
(1 row)

设置用户默认角色

虽然通常是由 DBADMIN 用户负责设置用户默认角色,但作为用户,您可以设置自己的角色。例如,如果您运行 SET ROLE NONE,则您的所有已启用角色将被禁用。因而决定了您需要将 role1 作为默认角色进行访问。DBADMIN 使用 ALTER USER 向您分配默认角色:

=> ALTER USER user1 default role role1;

此示例将 role1 设置为 user1 的默认角色,因为 DBADMIN 使用 ALTER USER 分配了此默认角色。

user1 => SET ROLE default;
user1 => SHOW ENABLED_ROLES;
    name      | setting
-----------------------
enabled roles |   role1
(1 row)

将所有角色设为默认值

此示例将所有授予 user1 的角色设为默认角色:

user1 => SET ROLE all;
user1 => show enabled roles;
    name      |   setting
----------------------------------
enabled roles | role1, role2, role3
(1 row)

将所有角色设为默认值(含例外)

此示例将授予用户的所有角色设为默认角色,但 role1 除外。

user1 => set role all except role1;
user1 => SHOW ENABLED_ROLES
     name     | setting
----------------------------
enabled roles | role2, role3
(1 row)

6 - SET SEARCH_PATH

指定当 SQL 语句指定不使用架构名称限定的表名称时 Vertica 搜索架构的顺序。 SET SEARCH_PATH 覆盖当前会话的搜索路径,该路径最初是在用户配置文件中设置的。此搜索路径一直有效,直到下一个 SET SEARCH_PATH 语句或会话结束为止。有关详细信息,请参阅设置搜索路径

要查看当前搜索路径,请使用 SHOW SEARCH_PATH

语法

SET SEARCH_PATH { TO | = } { schema‑list | DEFAULT }

参数

schema‑list
以逗号分隔的架构列表,表示 Vertica 搜索表中架构的顺序,该表的名称不通过架构名称进行限定。

如果搜索路径中包含的架构不存在,或者用户缺少对该架构的访问权限,Vertica 会静默跳过该架构。

DEFAULT
将搜索路径设置为数据库默认设置:
"$user", public, v_catalog, v_monitor, v_internal

特权

示例

显示当前搜索路径:

=> SHOW SEARCH_PATH;
    name     |                      setting
-------------+---------------------------------------------------
 search_path | "$user", public, v_catalog, v_monitor, v_internal
(1 row)

将搜索路径重置为架构 storepublic

=> SET SEARCH_PATH TO store, public;
=> SHOW SEARCH_PATH;
    name     |                     setting
-------------+-------------------------------------------------
 search_path | store, public, v_catalog, v_monitor, v_internal
(1 row)

将搜索路径重置为数据库默认设置:

=> SET SEARCH_PATH TO DEFAULT;
SET
=> SHOW SEARCH_PATH;
    name     |                      setting
-------------+---------------------------------------------------
 search_path | "$user", public, v_catalog, v_monitor, v_internal
(1 row)

7 - SET SESSION AUTOCOMMIT

设置语句是否在完成时自动提交其事务。此语句主要由客户端驱动程序用于启用和禁用自动提交,您永远没有必要直接调用该语句。

语法

SET SESSION AUTOCOMMIT TO { ON | OFF }

参数

ON
启用自动提交。语句会在完成时自动提交其事务。这是使用 Vertica 客户端库建立的连接的默认设置。
OFF
禁用自动提交。事务不会自动提交。这是交互会话(通过 vsql 建立的连接)的默认设置。

特权

示例

此示例显示了如何将 AUTOCOMMIT 设置为“on”,然后再设置为“off”。

=> SET SESSION AUTOCOMMIT TO on;
SET
=> SET SESSION AUTOCOMMIT TO off;
SET

另请参阅

8 - SET SESSION CHARACTERISTICS AS TRANSACTION

设置在此语句发出后开始的所有事务的隔离级别和访问模式。

事务将保留其隔离级别直至其完成,即使在事务处理期间会话的隔离级别发生更改也是如此。Vertica 内部进程(例如 Tuple Mover刷新操作)以及 DDL 操作始终以 SERIALIZABLE 隔离级别运行以确保一致性。

语法

SET SESSION CHARACTERISTICS AS TRANSACTION settings
设置
以下两项中的一个或两个:
  • ISOLATION LEVEL [argument](#IsolationArgs)
  • [READ ONLY | READ WRITE](#ReadWrite)

ISOLATION LEVEL 实参

ISOLATION LEVEL 子句用于确定当同时运行其他多个事务时,此事务可以访问的数据。如果事务已运行,则不能在第一个查询 (SELECT) 或 DML 语句(INSERT、DELETE、UPDATE)之后更改隔离级别。

将 ISOLATION LEVEL 设置为以下实参之一:

SERIALIZABLE
设置最严格的 SQL 事务隔离级别。此级别连续而不是并发模拟事务。它持有锁并阻止写入操作,直到事务完成为止。

使用 SERIALIZABLE 的应用程序必须准备好在序列化失败后重试事务。对于正常的查询操作,不建议使用此隔离级别。

将事务隔离级别设置为 SERIALIZABLE 不会应用于临时表。临时表通过其事务范围进行隔离。

REPEATABLE READ
自动转换为 SERIALIZABLE
READ COMMITTED
默认值,允许并发事务。
READ UNCOMMITTED
自动转换为 READ COMMITTED

READ WRITE/READ ONLY

您可以将事务访问模式设置为以下几项之一:

READ WRITE
默认值,允许对 SQL 语句进行读取/写入。
READ ONLY
不允许需要写入权限的 SQL 语句:
  • 对任何非临时表的 INSERT、UPDATE、DELETE 和 COPY 操作。

  • CREATE、ALTER 和 DROP

  • GRANT、REVOKE

  • EXPLAIN(如果要解释的 SQL 语句需要写入权限)。

特权

查看会话事务特征

SHOW TRANSACTION_ISOLATIONSHOW TRANSACTION_READ_ONLY 可显示当前会话的事务设置:

=> SHOW TRANSACTION_ISOLATION;
         name          |   setting
-----------------------+--------------
 transaction_isolation | SERIALIZABLE
(1 row)

=> SHOW TRANSACTION_READ_ONLY;
         name          | setting
-----------------------+---------
 transaction_read_only | true
(1 row)

9 - SET SESSION GRACEPERIOD

设置会话套接字在等待给定查询的客户端输入或输出时保持拦截状态的时间。如果套接字在超过宽限期设置的一段连续时间内被拦截,服务器将关闭套接字并引发致命错误。然后会话终止。如果未设置宽限期,查询可以无限期地在套接字上保留它的块。

Vertica 独立应用会话的宽限期和 RUNTIMECAP 设置。如果未设置宽限期,则无论查询的 RUNTIMECAP 设置如何,查询都可以在会话套接字上无限期地阻塞。

语法

SET SESSION GRACEPERIOD duration

参数

duration
指定查询可以在任何会话套接字上阻塞的时间,可以为以下几项之一:
  • 'interval':将当前会话查询的最长宽限期指定为间隔,最长 20 天。

  • =DEFAULT:将此会话中查询的宽限期设置为用户的 GRACEPERIOD 值。新会话最初将设置为此值。

  • NONE:仅对超级用户有效,将移除之前在会话查询中设置的任何宽限期。

特权

  • 无论数据库或节点设置如何,超级用户均可以将会话宽限期增加到任意值。

  • 非超级用户只能将会话宽限期设置为不大于自己的用户设置的值。如果没有为用户显式设置宽限期,则该用户的宽限期将从节点或数据库设置继承。

示例

请参阅《管理员指南》中的处理会话套接字阻止

10 - SET SESSION IDLESESSIONTIMEOUT

设置会话在退出之前可以保持空闲的最长时间。

语法

SET SESSION IDLESESSIONTIMEOUT duration

参数

duration
指定会话在退出之前可以保持空闲的时间:
  • NONE (默认值):会话未设置空闲超时。

  • 'interval':指定为间隔,即会话可以保持空闲的最长时间。

  • =DEFAULT:将此会话的空闲超时时间设置为用户的 IDLESESSIONTIMEOUT 值。

特权

  • 无论数据库或节点设置如何,超级用户均可以将会话保持空闲的时间增加到任意值。

  • 非超级用户只能将会话空闲时间设置为不大于自己的用户设置的值。如果没有为用户显式设置会话空闲时间,则该用户的会话空闲时间将从节点或数据库设置继承。

示例

请参阅《管理员指南》中的管理客户端连接

11 - SET SESSION MEMORYCAP

限制可以为当前 会话中的任何请求分配的内存量。此限制仅适用于当前会话;不限制多个会话使用的内存总量。

语法

SET SESSION MEMORYCAP limit

参数

限制
以下几项之一:
  • 'max‑expression':一个字符串值,用于指定内存限制,为以下几项之一:

    • int% — 将最大值表示为 资源管理器可用总内存的百比,其中 int 为 0 至 100 之间的整数。例如:

      MEMORYCAP '40%'

    • int{K|M|G|T} — 以 KB、MB、GB 或 TB 表示内存分配。例如:

      MEMORYCAP '10G'

  • =DEFAULT:将此会话中查询的内存上限设置为用户的 MEMORYCAP 值。新会话最初将设置为此值。

  • NONE:移除此会话的内存上限。

特权

  • 超级用户可以将会话内存上限增加到任意值。

  • 非超级用户只能将会话内存上限设置为不大于自己的用户设置的值。

示例

将会话内存上限设置为 2 GB:

=> SET SESSION MEMORYCAP '2G';
SET
=> SHOW MEMORYCAP;
   name    | setting
-----------+---------
 memorycap | 2097152
(1 row)

将内存上限恢复为用户配置文件中指定的默认设置:


=> SET MEMORYCAP=DEFAULT;
SET
=> SHOW MEMORYCAP;
   name    | setting
-----------+---------
 memorycap | 2013336
(1 row)

另请参阅

管理工作负载

12 - SET SESSION MULTIPLEACTIVERESULTSETS

启用或禁用在单一 JDBC 连接上执行多个活动结果集 (MARS)。使用此选项需要具有活动的 JDBC 连接。

语法

SET SESSION MULTIPLEACTIVERESULTSETS TO { ON | OFF }

参数

ON
启用 MultipleActiveResultSets。允许您在单一连接上执行多个结果集。
OFF
禁用 MultipleActiveResultSets。每个连接只允许一个活动结果集。(默认值。)

特权

示例

此示例显示了如何将 MultipleActiveResultSets 设置为“on”,然后再设置为“off”:

=> SET SESSION MULTIPLEACTIVERESULTSETS TO on;
SET
=> SET SESSION MULTIPLEACTIVERESULTSETS TO off;
SET

13 - SET SESSION RESOURCE_POOL

将用户 会话与指定资源池关联。

语法

SET SESSION RESOURCE_POOL = { pool-name | DEFAULT }

参数

pool‑name
要与当前会话关联的现有资源池的名称。
DEFAULT
将会话的资源池设置为用户的默认资源池。

特权

  • 超级用户可以将其会话分配到任意可用的资源池。

  • 非超级用户必须具有资源池的 USAGE 权限。

示例

此示例将 ceo_pool 设置为会话资源池:

=> SET SESSION RESOURCE_POOL = ceo_pool;
SET

另请参阅

14 - SET SESSION RUNTIMECAP

设置查询和存储过程可以在给定会话中运行的最长时间。如果查询或存储过程超出其会话的 RUNTIMECAP,Vertica 将终止它并返回错误。不能将 RUNTIMECAP 增加到超出用户配置文件中设置的限制。

语法

SET SESSION RUNTIMECAP duration

参数

duration
指定给定查询可以在当前会话中运行的时间,为以下几项之一:
  • NONE (默认值):移除所有当前会话查询的运行时限制。

  • 'interval':将当前会话查询的最长运行时间指定为间隔,最长为一年,例如,1 minute100 seconds

  • =DEFAULT:将此会话中查询的最长运行时间设置为用户的 RUNTIMECAP 值。

特权

  • 超级用户可以将会话 RUNTIMECAP 增加到任意值。

  • 非超级用户只能将会话 RUNTIMECAP 设置为不大于自己的用户 RUNTIMECAP 的值。

示例

将当前会话的最大查询运行时设置为 10 分钟: 

=> SET SESSION RUNTIMECAP '10 minutes';

将会话 RUNTIMECAP 恢复为您的用户默认设置:

=> SET SESSION RUNTIMECAP =DEFAULT;
SET
=> SHOW RUNTIMECAP;
    name    |  setting
------------+-----------
 runtimecap | UNLIMITED
(1 row)

将 RUNTIMECAP 设置为 1 SECOND 并使用无限循环运行匿名过程

=> SET SESSION RUNTIMECAP '1 SECOND';
SET

=> DO $$
BEGIN
    LOOP
    END LOOP;
END;
$$;

ERROR 0:  Query exceeded maximum runtime
HINT:  Change the maximum runtime using SET SESSION RUNTIMECAP

另请参阅

15 - SET SESSION TEMPSPACECAP

设置 会话发出的任何请求可以消耗的最大临时文件存储量。如果查询的执行计划所需的存储空间超出会话 TEMPSPACECAP,将会返回错误。

语法

SET SESSION TEMPSPACECAP limit

参数

限制
分配给当前会话的最大临时文件存储量,为以下几项之一:
  • NONE (默认值):临时存储不受限制

  • = DEFAULT:会话 TEMPSPACECAP 设置为用户的 TEMPSPACECAP 值。

  • 用于指定存储限制的字符串,为以下几项之一:

    • int% 将最大值表示为资源管理器可用的临时总存储的百分比,其中 int 为 0 至 100 之间的整数值。例如:

      SET SESSION TEMPSPACECAP '40%';
      
    • int{K|M|G|T} 以 KB、MB、GB 或 TB 表示存储分配。例如:

      SET SESSION TEMPSPACECAP '10G';
      

特权

非超级用户:

  • 仅限于设置自己的会话

  • 会话 TEMPSPACECAP 不能大于其自己的 TEMPSPACECAP

示例

将会话 TEMPSPACECAP 设置为 20 GB:

=> SET SESSION TEMPSPACECAP '20G';
SET
=> SHOW TEMPSPACECAP;
     name     | setting
--------------+----------
 tempspacecap | 20971520
(1 row)

将会话 TEMPSPACECAP 设置为不受限制:

=> SET SESSION TEMPSPACECAP NONE;
SET
=> SHOW TEMPSPACECAP;
     name     |  setting
--------------+-----------
 tempspacecap | UNLIMITED
(1 row)

另请参阅

16 - SET STANDARD_CONFORMING_STRINGS

指定是否将反斜杠视为当前会话的转义字符。默认情况下,Vertica 符合 SQL 标准并支持 Unicode 转义中的 SQL:2008 字符串字面量。

语法

SET STANDARD_CONFORMING_STRINGS TO { ON | OFF }

参数

ON
(默认)将普通字符串字面量 ('...') 视为反斜杠 (\),当作文本处理。这意味着反斜杠将被视为字符串字面量,而非转义字符。
OFF
将反斜杠视为转义字符。

特权

要求

  • 此语句只能在 vsql 下使用。

  • 标准-一致性字符串必须开启才可使用 Unicode 样式的字符串字面量 (U&'\nnnn')。

示例

关闭会话的一致性字符串:

=> SET STANDARD_CONFORMING_STRINGS TO OFF;

验证当前设置:

=> SHOW STANDARD_CONFORMING_STRINGS;
            name             | setting
-----------------------------+---------
 standard_conforming_strings | off
(1 row)

打开会话的一致性字符串:

=> SET STANDARD_CONFORMING_STRINGS TO ON;

另请参阅

17 - SET TIME ZONE

更改当前 会话的 TIME ZONE 运行时参数。使用 SHOW TIMEZONE 显示会话的当前时区。

如果您使用 POSIX 格式设置时区,您使用的时区缩写将覆盖默认时区缩写。如果将日期样式设置为 POSTGRES,在将时间戳转换为字符串时,也会使用您使用的时区缩写。

语法

SET TIME ZONE [TO] { value | 'value' }

参数

value
以下几项之一:
  • Vertica 支持的时区字面量。要查看默认的有效字面量列表,请参阅以下目录中的文件:

    /opt/vertica/share/timezonesets
    
  • 带符号整数,表示 UTC 偏移量(以小时为单位)

  • 偏移量为带符号整数的时区字面量。例如:

    => SET TIME ZONE TO 'America/New York -3'; -- equivalent to Pacific time
    
  • 间隔值

  • 常数 LOCALDEFAULT,分别将时区设置为环境变量 TZ 中指定的时区,或者如果 TZ 未定义,则设置为操作系统时区。

只有有效的(时区+偏移量)组合才能作为此函数的参数。

特权

示例

=> SET TIME ZONE TO DEFAULT;
=> SET TIME ZONE TO 'PST8PDT'; -- Berkeley, California
=> SET TIME ZONE TO 'Europe/Rome'; -- Italy
=> SET TIME ZONE TO '-7'; -- UDT offset equivalent to PDT
=> SET TIME ZONE TO INTERVAL '-08:00 HOURS';

另请参阅

在 Vertica 中使用时区

17.1 - 用于设置 TIME ZONE 的时区名称

Vertica 将下面列出的时区名称识别为 SQL 时区的有效设置(TIME ZONE 运行时参数)。

这些名称不同于 /opt/vertica/share/timezonesets 中显示的名称,后者以 date/time 输入值的形式获得 Vertica 识别。下面列出的 TIME ZONE 名称意味着本地夏令时规则,其中 date/time 输入名称代表 UTC 的固定偏移量。

在许多情况下,同一时区具有多个名称。这些名称位于同一个组中。列表主要按常用时区名称进行排序。

除了列表中的名称之外,Vertica 还接受以下时区名称之一:

  • STDoffset

  • STDoffsetDST

其中 STD 为时区缩写,offset 为从 UTC 往西的偏移量数值(以小时为单位),而 DST 为可选的夏令时时区缩写,假定代表比给定偏移量提前一小时。

例如,如果 EST5EDT 还不是公认的时区名称,Vertica 将接受它在功能上等同于美国东海岸时间。如果存在夏令时时区名称,Vertical 将假定该名称使用美国时区规则,因此此功能在北美以外地区的使用受到限制。

时区

  • 非洲
  • 美洲
  • 南极洲
  • 亚洲
  • 大西洋
  • 澳大利亚
  • CET

  • EET

  • Etc/GMT
    • GMT

    • GMT+0

    • GMT-0

    • GMT0

    • Greenwich

    • Etc/Greenwich

  • 欧洲
  • 工厂

  • 印度洋
  • MET

  • 太平洋
  • UCT Etc

  • UCT

  • 偏移量

    • Universal Zulu

    • Etc/UTC

    • Etc/Universal

    • Etc/Zulu

  • WET