关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
更改运行时数据库配置参数的值。
SET [ SESSION | LOCAL ] <configuration_parameter> { TO | = } { <value> | '<value>' | DEFAULT }
SET [SESSION | LOCAL] TIME ZONE { <value> | '<value>' | LOCAL | DEFAULT }
SET 命令用于修改服务器配置参数。任何被归类为会话参数的配置参数均可通过 SET 命令实时修改。(部分参数需具备超级用户权限才能修改,另一些参数则在服务器或会话启动后无法更改。)SET 命令仅影响当前会话使用的参数值。
若在后续被取消的事务中执行了SET或SET SESSION命令,当事务回滚时,SET命令的效果将消失。一旦外围事务提交,其效果将持续至会话结束,除非被另一个SET命令覆盖。
SET LOCAL 的效果仅持续到当前事务结束,无论事务是否提交。特殊情况是单个事务内先执行 SET 再执行 SET LOCAL:SET LOCAL 的值将持续到事务结束,但之后(若事务提交)SET 的值将生效。
SET 或 SET LOCAL 的效果也会因回滚到早于该命令的保存点而被取消。
若在包含相同配置参数 SET 选项的函数中使用 SET LOCAL(参见 CREATE FUNCTION),则 SET LOCAL 命令的效果在函数退出时消失;无论如何都会恢复函数调用时生效的值。这使得 SET LOCAL 能在函数内部实现参数的动态或重复修改,同时保留使用 SET 选项保存和恢复调用者参数值的便利性。需注意常规 SET 命令会覆盖任何外围函数的 SET 选项;其效果将持续生效,除非被回滚。
有关服务器参数的信息,请参阅服务器配置参数。
SESSION
LOCAL
configuration_parameter
value
SCHEMA
SET SCHEMA '<value>' 是 SET <search_path> TO <value> 的别名。使用此语法时只能指定一个模式。NAMES
SET NAMES <value> 是 SET client_encoding TO <value> 的别名。SEED
random())的内部种子。允许的值为-1到1之间的浮点数(包含边界值)。您也可以通过调用 setseed() 函数来设置种子:
SELECT setseed(value);
TIME ZONE
SET TIME ZONE <value> 是 SET timezone TO <value> 的别名。SET TIME ZONE 语法允许使用特殊语法指定时区。有效值示例如下:
'PST8PDT'
'Europe/Rome'
-7 (time zone 7 hours west from UTC)
INTERVAL '-08:00' HOUR TO MINUTE (time zone 8 hours west from UTC).
LOCAL
DEFAULT 将时区设置为您的本地时区(即服务器的默认时区值)。 有关数据库中时区的更多信息,请参阅 PostgreSQL 文档中的时区部分。
设置模式搜索路径:
SET search_path TO my_schema, public;
将每个查询的分段主机内存增加至200 MB:
SET statement_mem TO '200MB';
将日期样式设置为传统的POSTGRES格式,采用"日在前,月在后"的输入规范:
SET datestyle TO postgres, dmy;
设置加利福尼亚州圣马特奥市(太平洋时间)的时区:
SET TIME ZONE 'PST8PDT';
设置意大利时区:
SET TIME ZONE 'Europe/Rome';
SET TIME ZONE 扩展了 SQL 标准中定义的语法。标准仅允许使用数字时区偏移量,而数据库允许更灵活的时区指定方式。所有其他 SET 功能均为数据库扩展。