CREATE RESOURCE POOL

    注意事项

    只要用户对当前数据库有CREATE权限,就可以创建资源池。

    参数说明

    • pool_name

      资源池名称。

      资源池名称不能和当前数据库里已有的资源池重名。

      取值范围:字符串,要符合标识符的命名规范。

    • group_name

      控制组名称。

    取值范围:字符串,要符合说明中的规则,其指定已创建的控制组。

    • stmt

      资源池语句执行的最大并发数量。

      取值范围:数值型,-1~2147483647‬。

    • memory_size

      资源池最大使用内存。

      取值范围:字符串,内容范围1KB~2047GB

    • mem_percent

      资源池可用内存占全部内存或者组用户内存使用的比例。

      在多租户场景下,组用户和业务用户的mem_percent范围1-100,默认为20。

      在普通场景下,普通用户的mem_percent范围为0-100,默认值为0。

    • io_limits

      对于行存,以万次为单位计数,而列存则以正常次数计数。

    • io_priority

      IO利用率高达90%时,重消耗IO作业进行IO资源管控时关联的优先级等级。

      包括三档可选:Low、Medium和High。不控制时可设置为None。默认为None。

    • nodegroup

      在逻辑集群模式下,指定逻辑集群名称。必须是存在的逻辑集群。

      如果逻辑集群名称包含大写字符、特殊符号或以数字开头,SQL语句中对逻辑集群名称需要加双引号。

    • is_foreign

      在逻辑集群模式下,指定当前资源池用于控制没有关联本逻辑集群的普通用户的资源。这里的逻辑集群是由资源池nodegroup字段指定的。

    1. openGauss=# CREATE RESOURCE POOL pool1;
    2. -- 创建一个资源池,其控制组指定为"DefaultClass"组下属的"High" Timeshare Workload控制组。
    3. openGauss=# CREATE RESOURCE POOL pool2 WITH (CONTROL_GROUP="High");
    4. -- 创建一个资源池,其控制组指定为"class1"组下属的"Low" Timeshare Workload控制组。
    5. -- 创建一个资源池,其控制组指定为"class1"组下属的"wg1" Workload控制组。
    6. openGauss=# CREATE RESOURCE POOL pool4 WITH (CONTROL_GROUP="class1:wg1");
    7. -- 创建一个资源池,其控制组指定为"class1"组下属的"wg2" Workload控制组。
    8. openGauss=# CREATE RESOURCE POOL pool5 WITH (CONTROL_GROUP="class1:wg2:3");
    9. --删除资源池。
    10. openGauss=# DROP RESOURCE POOL pool1;
    11. openGauss=# DROP RESOURCE POOL pool2;
    12. openGauss=# DROP RESOURCE POOL pool3;
    13. openGauss=# DROP RESOURCE POOL pool5;

    相关链接

    ALTER RESOURCE POOL