
# 配置设置函数
配置设置函数是用于查询及修改运行时配置参数的函数。
#### current_setting(setting_name)
描述：当前的设置值。
返回值类型：text
备注：current_setting用于以查询形式获取setting_name的当前值。和SQL语句SHOW是等效的。比如：
```
SELECT current_setting('datestyle');
 current_setting
-----------------
 ISO, MDY
(1 row)
```
#### read_global_var(global_setting_name)
描述：用于读取全局变量当前的设置值。
返回值类型：text
备注：read_global_var用于以查询形式获取global_setting_name的当前值。和SQL语句SHOW是等效的。
示例：
```
SET my.var = 1000;
SELECT read_global_var('my.var');
 read_global_var
-----------------
 1000
(1 row)
```
![](https://support.huaweicloud.com/sqlreference-911-dws/public_sys-resources/note_3.0-zh-cn.png)
global_setting_name表示类似于my.var类型的变量，其特征为名称中存在小数点且小数点左右均不为空。这种类型的变量叫做全局变量。
全局变量只能通过SET命令设置，不支持gs_guc、ALTER DATABASE dbname SET parameter_name TO value、ALTER USER username SET parameter_name TO value等设置方法，对所有用户可见。
#### set_config(setting_name, new_value, is_local)
描述：设置参数并返回新值。
返回值类型：text
备注：set_config将参数setting_name设置为new_value，如果is_local为true，则新值将只应用于当前事务。如果希望新值应用于当前会话，可以使用false，和SQL语句SET是等效的。比如：
```
SELECT set_config('log_statement_stats', 'off', false);
 set_config
------------
 off
(1 row)
```
![](https://support.huaweicloud.com/sqlreference-911-dws/public_sys-resources/caution_3.0-zh-cn.png)
如果GUC参数behavior_compat_options设置配置项为DISABLE_SET_GLOBAL_VAR_ON_DATANODE，则不可以通过该函数直接在DN上设置全局变量。
