云数据库 GAUSSDB-SET:参数说明
参数说明
- SESSION
声明的参数只对当前会话起作用。如果SESSION和LOCAL都没出现,则SESSION为缺省值。
如果在事务中执行了此命令,命令的产生影响将在事务回滚之后消失。如果该事务已提交,影响将持续到会话的结束,除非被另外一个SET命令重置参数。
- LOCAL
声明的参数只在当前事务中有效。在COMMIT或ROLLBACK之后,会话级别的设置将再次生效。
不论事务是否提交,此命令的影响只持续到当前事务结束。一个特例是:在一个事务里面,既有SET命令,又有SET LOCAL命令,且SET LOCAL在SET后面,则在事务结束之前,SET LOCAL命令会起作用,但事务提交之后,则是SET命令会生效。
- TIME ZONE timezone
用于指定当前会话的本地时区。
取值范围:有效的本地时区。该选项对应的运行时参数名称为TimeZone,DEFAULT缺省值为PRC。
- CURRENT_SCHEMA schema
CURRENT_SCHEMA用于指定当前的模式。
取值范围:已存在模式名称。如果模式名不存在,会导致CURRENT_SCHEMA值为空。
- SCHEMA schema
同CURRENT_SCHEMA。此处的schema是个字符串。
例如:set schema 'public';
- NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT};
- 在B兼容模式下,并在设置b_format_version='5.7'、b_format_dev_version='s2';时,支持指定collate子句。
用于设置客户端字符编码,常量字符串的字符集、字符序,及返回结果的字符集。
等价于:
set client_encoding = charset_name; set character_set_connection = charset_name; set collation_connection = collation_name; set character_set_results = charset_name;
取值范围:B兼容模式下支持的字符集,字符序。暂不支持指定charset_name与数据库字符集不同。
- 其他场景下不支持指定collate子句。
等价于:
set client_encoding to charset_name
取值范围:有效的字符编码。该选项对应的运行时参数名称为client_encoding,默认编码为UTF8。
- config_parameter
可设置的运行时参数的名称。可用的运行时参数可以使用SHOW ALL命令查看。
部分通过SHOW ALL查看的参数不能通过SET设置。如max_datanodes。
- value
config_parameter的新值。可以声明为字符串常量、标识符、数字,或者逗号分隔的列表。DEFAULT用于把这些参数设置为它们的缺省值。
- SESSION | @@SESSION. | @@
声明的参数生效方式为superuser、user,可通过pg_settings系统视图的context字段确定,如果没有出现GLOBAL /SESSION,则SESSION为缺省值。支持config_parameter赋值为表达式。
- SET SESSION 只有在兼容B模式下(sql_compatibility = 'B')支持,并且GUC参数b_format_behavior_compat_options设置值包含 enable_set_variables的场景下才支持(set b_format_behavior_compat_options = 'enable_set_variables')。
- 使用@@config_parameter进行操作符运算时,尽量使用空格隔开。比如set @@config_parameter1=@@config_parameter1*2; 命令中,会将=@@当做操作符,可将其修改为set @@config_parameter1= @@config_parameter1 * 2 。