YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
SET
更改 YMatrix 数据库配置参数的值。
概要
SET [SESSION | LOCAL] configuration_parameter {TO | =} value | 'value' | DEFAULT}
SET [SESSION | LOCAL] TIME ZONE {timezone | LOCAL | DEFAULT}
描述
SET命令更改服务器配置参数。 任何分类为session参数的配置参数都可以使用SET即时更改。 SET仅影响当前会话使用的值。
如果在稍后中止的事务中发出SET或SET SESSION,则回滚该事务时SET命令的效果会消失。 一旦提交了事务,效果将一直持续到会话结束,除非被另一个SET覆盖。
SET LOCAL的影响仅持续到当前事务结束为止,无论是否提交。 特殊情况是在单个事务中SET LOCAL紧随SET其后: SET LOCAL值将一直显示到事务结束为止,但是此后(如果提交了事务)SET值将生效。
如果在包含针对同一配置参数的SET选项的函数中使用SET LOCAL(请参见CREATE FUNCTION), 则SET LOCAL命令的效果在函数退出时消失; 无论如何,将恢复调用该函数时有效的值。 这允许将SET LOCAL用于函数中参数的动态或重复更改, 同时保留使用SET选项保存和恢复调用者值的便利。 请注意,常规的SET命令会覆盖周围函数的SET选项。 除非回滚,否则其影响持续存在。
如果在事务中使用DECLARE命令创建游标, 则只有在使用CLOSE命令关闭游标后才能在事务中使用SET命令。
参数
SESSION
- 指定该命令对当前会话生效。这是默认值。
LOCAL
- 指定该命令仅对当前事务生效。 在COMMIT或ROLLBACK之后,会话级设置将再次生效。 请注意,如果SET LOCAL在事务外部执行,则似乎无效。
configuration_parameter
- YMatrix 数据库配置参数的名称。 使用SET只能更改分类为session的参数。
value
- 参数的新值。 可以将值指定为字符串常量,标识符,数字或以逗号分隔的列表。 DEFAULT可用于指定将参数重置为其默认值。 如果指定内存大小或时间单位,则将值用单引号引起来。
TIME ZONE
- SET TIME ZONE值是SET timezone TO value。 语法SET TIME ZONE允许时区指定使用特殊语法。 以下是有效值的示例:
- 'PST8PDT'
- 'Europe/Rome'
- -7 (UTC以西7小时时区)
- INTERVAL '-08:00' HOUR TO MINUTE (UTC以西8小时时区)。
LOCAL
DEFAULT
- 将时区设置为您的本地时区(即服务器的默认timezone)。
示例
设置schema搜索路径:
SET search_path TO my_schema, public;
将每个查询的segment主机内存增加到200 MB:
SET statement_mem TO '200MB';
把日期风格设置为传统POSTGRES的"日在月之前"的输入习惯:
SET datestyle TO postgres, dmy;
设置加利福尼亚州圣马特奥市的时区(太平洋时间):
SET TIME ZONE 'PST8PDT';
设置意大利的时区:
SET TIME ZONE 'Europe/Rome';
设置系统默认的 SEGMENT_SET 对象。
SET mx_default_segment_set TO 'ss1';
兼容性
SET TIME ZONE扩展了SQL标准中定义的语法。 该标准仅允许数字时区偏移,而 YMatrix 数据库允许更灵活的时区规范。 SET的所有其他功能都是 YMatrix 数据库扩展。