
# 设置参数
GaussDB支持在管理控制台修改部分参数，建议在管理控制台上修改指定参数，如果需要修改的参数在管理控制台无法修改，请提前评估风险后再联系客服进行修改。
#### 背景信息
GaussDB提供了多种修改GUC参数的方法，用户可以方便地针对数据库、用户、会话进行设置。
- 参数名称不区分大小写。
- 参数取值有整型、浮点型、字符串、布尔型和枚举型五类。
  - 布尔值可以是（on，off）、（true，false）、（yes，no）或者（1，0），且不区分大小写。
  
  - 枚举类型的取值是在系统表pg_settings的enumvals字段取值定义的。
   
- 对于有单位的参数，在设置时请指定单位，否则将使用默认的单位。
  - 参数的默认单位在系统表pg_settings的unit字段定义的。
  
  - 内存单位有：KB（千字节）、MB（兆字节）和GB（吉字节）。
  
  - 时间单位：ms（毫秒）、s（秒）、min（分钟）、h（小时）和d（天）。
   
具体参数说明请参见[GUC参数说明](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/gaussdb-12-1497.html#ZH-CN_TOPIC_0000002235460933)。
#### GUC参数设置
GaussDB提供了六类GUC参数，具体分类和设置方式请参考[表1]：
 表1GUC参数分类 
| 参数类型       | 说明                                                     | 设置方式                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| INTERNAL   | 固定参数，在创建数据库的时候确定，用户无法修改，只能通过show语法或者pg_settings视图进行查看。 | 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| POSTMASTER | 数据库服务端参数，在数据库启动时确定，可以通过配置文件指定。                         | 支持[表2]中的方式一。                                                                                                                                                                                                                                                                                                                                                                                                                    |
| SIGHUP     | 数据库全局参数，可在数据库启动时设置或者在数据库启动后，发送指令重新加载。                  | 支持[表2]中的方式一、方式二。                                                                                                                                                                                                                                                                                                                                                                                                                |
| BACKEND    | 会话连接参数。在创建会话连接时指定，连接建立后无法修改。连接断掉后参数失效。内部使用参数，不推荐用户设置。  | 支持[表2]中的方式一、方式二。 说明： 设置该参数后，下一次建立会话连接时生效。 |
| SUSET      | 数据库管理员参数。可在数据库启动时、数据库启动后或者数据库管理员通过SQL进行设置。             | 支持[表2]中的方式一、方式二或由数据库管理员通过方式三设置。                                                                                                                                                                                                                                                                                                                                                                                                 |
| USERSET    | 普通用户参数。可被任何用户在任何时刻设置。                                  | 支持[表2]中的方式一、方式二或方式三设置。                                                                                                                                                                                                                                                                                                                                                                                                          |
   
GaussDB提供了三种方式来修改GUC参数，具体操作请参考[表2]：
 表2GUC参数设置方式 
| 序号  | 设置方法                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|
| 方式一 | 1. 登录管理控制台。  2. 在"实例管理"页面，选择指定的实例，单击实例名称，进入实例基本信息页面。  3. 在左侧导航栏单击"参数修改"，进入参数修改页面，在该页面修改参数。 如果需要修改的参数在管理该控制台无法修改，请提前评估风险后再联系客服进行修改。   4. 重启数据库使参数生效。 说明： 重启数据库集群操作会导致用户执行操作中断，请在操作之前规划好合适的执行窗口。    |
| 方式二 | 1. 登录管理控制台。  2. 在"实例管理"页面，选择指定的实例，单击实例名称，进入实例基本信息页面。  3. 在左侧导航栏单击"参数修改"，进入参数修改页面，在该页面修改参数。 如果需要修改的参数在管理该控制台无法修改，请提前评估风险后再联系客服进行修改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 方式三 | 修改会话级别的参数。 - 设置会话级别的参数 ``` gaussdb=# SET paraname TO value; ``` 修改本次会话中的取值。退出会话后，设置将失效。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/caution_3.0-zh-cn.png)
使用方式一和方式二设置参数时，若所设参数不属于当前环境，数据库会提示参数不在支持范围内的相关信息。
如果需要修改的参数无法通过以上方式设置，请提前评估风险后再联系客服进行修改。
