重设参数
背景信息
GaussDB提供了多种修改GUC参数的方法,用户可以方便的针对数据库、用户、会话进行设置。
- 参数名称不区分大小写。
- 参数取值有整型、浮点型、字符串、布尔型和枚举型五类。
- 布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。
- 枚举类型的取值是在系统表pg_settings的enumvals字段取值定义的。
- 对于有单位的参数,在设置时请指定单位,否则将使用默认的单位。
- 参数的默认单位在系统表pg_settings的unit字段定义的。
- 内存单位有:KB(千字节)、MB(兆字节)和GB(吉字节)。
- 时间单位:ms(毫秒)、s(秒)、min(分钟)、h(小时)和d(天)。
- CN和DN参数可以同时进行设置,其他类型的参数不能同时进行设置。
具体参数说明请参见GUC参数说明。
GUC参数设置
GaussDB提供了六类GUC参数,具体分类和设置方式请参考表1:
参数类型 |
说明 |
设置方式 |
---|---|---|
INTERNAL |
固定参数,在创建数据库的时候确定,用户无法修改,只能通过show语法或者pg_settings视图进行查看。 |
无 |
POSTMASTER |
数据库服务端参数,在数据库启动时确定,可以通过配置文件指定。 |
支持表2中的方式一。 |
SIGHUP |
数据库全局参数,可在数据库启动时设置或者在数据库启动后,发送指令重新加载。 |
支持表2中的方式一、方式二。 |
BACKEND |
会话连接参数。在创建会话连接时指定,连接建立后无法修改。连接断掉后参数失效。内部使用参数,不推荐用户设置。 |
支持表2中的方式一、方式二。
说明:
设置该参数后,下一次建立会话连接时生效。 |
SUSET |
数据库管理员参数。可在数据库启动时、数据库启动后或者数据库管理员通过SQL进行设置。 |
支持表2中的方式一、方式二或由数据库管理员通过方式三设置。 |
USERSET |
普通用户参数。可被任何用户在任何时刻设置。 |
支持表2中的方式一、方式二或方式三设置。
说明:
设置USERSET类型的参数时,ALTER DATABASE设置的参数值优先级高于gs_guc设置。如果想要gs_guc设置的参数值生效,则需要执行“alter database xxx reset xxx”进行重置。 |
序号 |
设置方法 |
||
---|---|---|---|
方式一 |
|
||
方式二 |
|
||
方式三 |
修改会话级别的参数。
|
使用方式一和方式二设置参数时,若所设参数不属于当前环境,数据库会提示参数不在支持范围内的相关信息。