设置GUC参数
为确保GaussDB(DWS)的最优性能,用户可根据业务需求对数据库中的GUC参数进行调整。
参数类型和值
- GaussDB(DWS)的GUC参数类型分为以下五类:
- SUSET,数据库管理员参数。设置后立即生效,无需重启集群。若在当前会话中设置该类型参数仅当前会话生效。
- USERSET,普通用户参数。设置后立即生效,无需重启集群。若在当前会话中设置该类型参数仅当前会话生效。
- POSTMASTER,数据库服务端参数。设置后需要重启集群才能生效,确认修改后系统会提示集群状态为待重启,建议在非业务高峰期手动重启集群,使参数生效。
- SIGHUP,数据库全局参数。设置后全局生效,无法会话级生效。
- BACKEND,数据库全局参数。设置后全局生效,无法会话级生效。
- 所有的参数名称不区分大小写。 参数取值有整型、浮点型、字符串、布尔型和枚举型五类。
- 布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。
- 枚举类型的取值由系统表pg_settings的enumvals字段取值所定义。
- 对于有单位的参数,在设置时请指定单位,否则将使用默认的单位。
- 参数的默认单位由系统表pg_settings的unit字段所定义。
- 内存单位有:KB(千字节)、MB(兆字节)和GB(吉字节)。
- 时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。
GUC参数设置
GUC参数设置有两种方式:
- 方式一:集群创建成功后,用户可以登录GaussDB(DWS) 管理控制台,根据实际需要修改集群的数据库参数。 具体操作请参见修改数据库参数。
- 方式二:成功连接集群后,通过SQL命令的方式设置SUSET或USERSET类型的参数。
- 设置数据库级别的参数
1
ALTER DATABASE dbname SET paraname TO value;
在下次会话中生效。
- 设置用户级别的参数
1
ALTER USER username SET paraname TO value;
在下次会话中生效。
- 设置会话级别的参数
1
SET paraname TO value;
修改本次会话中的取值。退出会话后,设置将失效。
- 设置数据库级别的参数
操作步骤
设置参数,以设置explain_perf_mode参数为例。
- 查看explain_perf_mode参数。
1 2 3 4 5
SHOW explain_perf_mode; explain_perf_mode ------------------- normal (1 row)
- 设置explain_perf_mode参数。
使用以下任意方式进行设置:
- 设置数据库级别的参数
1
ALTER DATABASE gaussdb SET explain_perf_mode TO pretty;
当结果显示为如下信息,则表示设置成功。
ALTER DATABASE
在下次会话中生效。
- 设置用户级别的参数
1
ALTER USER dbadmin SET explain_perf_mode TO pretty;
当结果显示为如下信息,则表示设置成功。
ALTER USER
在下次会话中生效。
- 设置会话级别的参数
1
SET explain_perf_mode TO pretty;
当结果显示为如下信息,则表示设置成功。
SET
- 设置数据库级别的参数
- 检查参数设置的正确性。
1 2 3 4 5
SHOW explain_perf_mode; explain_perf_mode -------------- pretty (1 row)