云数据库 GAUSSDB-设置参数:GUC参数设置

时间:2024-11-13 14:45:06

GUC参数设置

GaussDB 提供了七类GUC参数,具体分类和设置方式请参考表1

表1 GUC参数分类

参数类型

说明

设置方式

INTERNAL

固定参数,在创建数据库的时候确定,用户无法修改,只能通过show语法或者pg_settings视图进行查看。

POSTMASTER

数据库服务端参数,在数据库启动时确定,可以通过配置文件指定。

支持表2中的方式一。

SIGHUP

数据库全局参数,可在数据库启动时设置或者在数据库启动后,发送指令重新加载。

支持表2中的方式一、方式二。

BACKEND

会话连接参数。在创建会话连接时指定,连接建立后无法修改。连接断掉后参数失效。内部使用参数,不推荐用户设置。

支持表2中的方式一、方式二。

说明:

设置该参数后,下一次建立会话连接时生效。

SUSET

数据库管理员参数。可在数据库启动时、数据库启动后或者数据库管理员通过SQL进行设置。

支持表2中的方式一、方式二或由数据库管理员通过方式三设置。

USERSET

普通用户参数。可被任何用户在任何时刻设置。

支持表2中的方式一、方式二或方式三设置。

GaussDB提供了三种方式来修改GUC参数,具体操作请参考表2
表2 GUC参数设置方式

序号

设置方法

方式一

  1. 登录管理控制台。
  2. “实例管理”页面,选择指定的实例,单击实例名称,进入实例基本信息页面。
  3. 在左侧导航栏单击“参数管理”,进入参数修改页面,在该页面修改参数。

    如果需要修改的参数在管理该控制台无法修改,请提前评估风险后再联系客服进行修改。

  4. 重启数据库使参数生效。
    说明:

    重启数据库集群操作会导致用户执行操作中断,请在操作之前规划好合适的执行窗口。

方式二

  1. 登录管理控制台。
  2. “实例管理”页面,选择指定的实例,单击实例名称,进入实例基本信息页面。
  3. 在左侧导航栏单击“参数管理”,进入参数修改页面,在该页面修改参数。

    如果需要修改的参数在管理该控制台无法修改,请提前评估风险后再联系客服进行修改。

方式三

修改指定数据库、用户、会话级别的参数。

  • 设置数据库级别的参数
    1
    gaussdb=# ALTER DATABASE dbname SET paraname TO value;
    

    在下次会话中生效。

  • 设置用户级别的参数
    1
    gaussdb=# ALTER USER username SET paraname TO value;
    

    在下次会话中生效。

  • 设置会话级别的参数
    1
    gaussdb=# SET paraname TO value;
    

    修改本次会话中的取值。退出会话后,设置将失效。

    说明:

    SET设置的会话级参数优先级最高,其次是ALTER设置的,其中ALTER DATABASE设置的参数值优先级高于ALTER USER设置,这三种设置方式设置的优先级都高于gs_guc设置方式。

    ALTER DATABASE和ALTER USER设置的参数在当前会话都不会生效,需要重启会话才能生效。

  • 使用方式一、方式二设置参数时,若所设参数不属于当前节点,数据库会提示参数不在支持范围内的相关信息。
  • 使用方式一、方式二设置参数时,不支持以页面数量为参数单位进行设置。
  • 使用方式三设置参数时,若参数值为int整型,则会将整数前导零过滤掉,例如SET paraname TO 008192与SET paraname TO 8192效果相同。
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-40-0315.html