全部产品
Search
文档中心

实时数仓Hologres:Serverless Computing使用指南

更新时间:Jun 10, 2025

对于CPU或内存开销大的SQL作业,Hologres Serverless Computing功能支持其使用独立的Serverless Computing资源,以确保任务间资源隔离,避免资源竞争与相互干扰。本文将介绍如何使用Serverless Computing功能。

使用限制

  • 仅Hologres V2.1.17及以上版本的通用型计算组型实例支持使用Serverless Computing。

    说明

    如果您的实例是V2.1.17以下版本,请您使用实例升级或加入实时数仓Hologres交流群,申请升级实例,详情请参见如何获取更多的在线支持?

  • 以下情况不支持使用Serverless Computing:

    • 不支持只读从实例的查询。主实例、计算组实例可正常使用。

    • 开启了多行DML事务的查询,如set hg_experimental_enable_transaction = on

    • 使用Fixed Plan的SQL。

    • DLF外部表查询与写入。

    • 跨库查询与写入。

  • Serverless Computing现已支持如下任务:

    • 支持主要的DML任务,包括INSERT(不含INSERT OVERWRITE)、INSERT ON CONFLICT(UPSERT)、DELETE和UPDATE。

    • V2.2.14版本起,支持DQL任务。

    • V3.0.1版本起,支持DML中的COPY任务。

    • V3.0.9版本起,支持DML中的CREATE TABLE AS(CTAS)任务。

    • V3.0.19和V2.2.42版本起,支持RESHARDING任务。

    • V3.0.26版本起,支持执行INSERT OVERWRITE任务(存储过程hg_insert_overwrite),也支持在存储过程中执行DML和DQL操作。

    • V3.1.0版本起,支持DML中的原生INSERT OVERWRITE语法,支持REBUILD任务。

  • 如果需要使用EXTENSION,现在仅支持如下EXTENSION:

    • ClickHouse

    • Flow Analysis

    • PostGIS

    • RoaringBitmap

    • BSI

    • Proxima

发布地域

目前Serverless Computing功能已发布的地域及可用区如下:

说明

下述地域的其他可用区暂不支持Serverless Computing功能,如有需要,请提交工单加入实时数仓Hologres交流群,申请迁移可用区。目前可用区支持热迁移,实例影响与热升级相同,详情请参见实例升级

地域

可用区

华东1(杭州)

可用区J、K

华南1(深圳)

可用区F、D

华东2(上海)

可用区E、L

华北2(北京)

可用区I、L

华北6(乌兰察布)

可用区A

中国(香港)

可用区B、D

新加坡

可用区A、C

印度尼西亚(雅加达)

可用区B

美国(弗吉尼亚)

可用区A

德国(法兰克福)

可用区A

开启Serverless Computing

新购实例

访问Hologres实例列表,单击新增引擎实例,在实例购买页面,设置开启Serverless Computing参数为。关于新购实例详情,请参见购买Hologres

serverdddpp

存量实例

访问Hologres实例列表,在顶部菜单栏左侧选择地域,选择目标实例,单击操作列中的升配,在变配页面,设置开启Serverless Computing参数选为

重要

开启Serverless Computing配置期间会重启实例,请尽量在业务低峰期执行变配操作,建议应用具备重连机制。升配计算资源配置涉及计算资源重新分配,元数据变更等操作,通常需要2~5分钟,请您耐心等待。

image

若您暂不需要开通Serverless Computing,可通过以下方式进行操作:

您可以访问Hologres实例列表,在顶部菜单栏左侧选择地域,选择目标实例,单击操作列中image,选择降配。在降配页面,设置开启Serverless Computing参数选为

说明
  • 关闭Serverless Computing配置期间会重启实例,请尽量在业务低峰期执行变配操作,建议应用具备重连机制。升配计算资源配置涉及计算资源重新分配,元数据变更等操作,通常需要2~5分钟,请您耐心等待。

  • Serverless Computing关闭后,不支持指定Serverless Computing资源,当前Serverless Computing资源中运行和排队的任务都会失败。

使用建议

建议使用Serverless Computing资源执行SQL时,同时Session级别配置活跃Query运行超时时间,以避免SQL运行时间过长或者等待时间过长,导致堵塞后续所有任务。

  • 语法示例

    set statement_timeout = <time>;

    参数说明

    time:超时时间取值范围为0~2147483647ms,单位默认为ms(当time后加单位时需要使用单引号,否则会报错)。默认超时时间为8小时。

  • 使用示例

    -- 使用 Serverless Computing 资源执行 SQL.
    SET hg_computing_resource = 'serverless';
    
    -- 设置该SQL的优先级是5.
    SET hg_experimental_serverless_computing_query_priority to 5;
    
    --设置活跃query超时时间是2小时.
    SET statement_timeout = '2h';
    
    -- 执行 SQL.
    INSERT INTO sink_tbl SELECT * FROM source_tbl;
    
    -- 重置配置
    reset hg_computing_resource;
    reset statement_timeout;

使用Serverless Computing资源执行SQL

  • 您可以通过执行如下代码,使用Serverless Computing资源执行SQL命令。

    -- 使用Serverless Computing资源执行SQL,默认值为local,表示使用本实例资源执行SQL。
    SET hg_computing_resource = 'serverless';
    
    --提交DML后重置配置,保证非必要的SQL不会使用serverless资源。
    reset hg_computing_resource;
    重要
    • 建议Session级别设置,请勿在数据库级别修改该参数。

    • 建议提交DML后,使用reset hg_computing_resource重置资源,重置后的SQL将在本地执行,保证非必要的SQL不使用serverless资源。

  • 使用示例

    --数据准备--
    -- 创建源表
    CREATE TABLE source_tbl ( id int );
    -- 创建目标表
    CREATE TABLE sink_tbl ( id int );
    -- 写入样例数据
    INSERT INTO source_tbl
    SELECT * FROM generate_series(1, 99999999);
    
    --使用Serverless Computing资源执行SQL--
    SET hg_computing_resource = 'serverless';
    --执行SQL
    INSERT INTO sink_tbl SELECT * FROM source_tbl;
    -- 重置配置
    reset hg_computing_resource;

    您可以执行以下代码,查看上述SQL执行计划。

    -- 使用Serverless Computing资源执行SQL
    SET hg_computing_resource = 'serverless';
    
    -- 执行SQL
    EXPLAIN INSERT INTO sink_tbl SELECT * FROM source_tbl;
    
    -- 重置配置
    reset hg_computing_resource;

    返回结果如下。返回结果中Computing Resource: Serverless:表示使用Serverless Computing资源执行。

                                            QUERY PLAN                                        
    ------------------------------------------------------------------------------------------
     Gather  (cost=0.00..5.18 rows=100 width=4)
       ->  Insert  (cost=0.00..5.18 rows=100 width=4)
             ->  Redistribution  (cost=0.00..5.10 rows=100 width=4)
                   ->  Local Gather  (cost=0.00..5.10 rows=100 width=4)
                         ->  Decode  (cost=0.00..5.10 rows=100 width=4)
                               ->  Seq Scan on source_tbl  (cost=0.00..5.00 rows=100 width=4)
     Computing Resource: Serverless
     Optimizer: HQO version 2.1.0
    (8 rows)

Serverless Computing资源量

实例的Serverless可用资源量上限

Hologres实例可申请的Serverless Computing资源量(以下简称Quota)受实例计算资源限制,对应关系如下表。

说明
  • Quota表示每个实例执行阶段(EXECUTE)的SQL所占用的Serverless Computing资源的上限。

  • 每个可用区的Serverless Computing资源池由当前可用区所有实例共享。

  • 超过实例Quota限制或Serverless Computing资源池已满的情况下,提交的SQL会排队(进入QUEUE状态)等待资源。

  • Serverless Computing资源池中的SQL执行期间,申请到的计算资源由当前SQL独享,不会同时执行其他SQL。

实例计算资源(CU)

Serverless Computing资源Quota

实例计算资源<32

不支持使用Serverless Computing。

32=<实例计算资源<688

Serverless Computing资源Quota为实例计算资源的3倍。例如32CU的实例,可用的Serverless Computing资源Quota=32*3=96 CU。

说明

从Hologres V3.0.33版本起,Serverless Computing资源Quota调整为实例计算资源的5倍,最大不超过2048 CU。

实例计算资源>=688

支持最高达到2048CU的资源配额。

设置单条SQL使用的Serverless资源量

在Hologres Serverless Computing中,单条SQL可使用的Serverless Computing资源量由以下三个参数决定。系统会取三个参数的最小值为单条SQL申请资源。实际申请资源以15 CU为步长进行申请。

参数

说明

Quota

Hologres实例可使用的Serverless Computing资源上限,详情请参见设置Max Cores

hg_experimental_serverless_computing_max_cores(下文简称Max Cores

每条SQL可被分配的Serverless Computing资源上限,默认为512 CU,支持修改。

hg_experimental_serverless_computing_required_cores(下文简称Required Cores

系统自动估算该SQL需要使用的Serverless Computing资源量,支持修改,修改后系统不再自动估算。

设置Max Cores

  • 您可以执行如下代码,设置每条SQL被分配的Serverless Computing资源上限。

    说明

    不建议对该配置进行修改,以免因分配的资源不足而导致SQL出现内存溢出(OOM)问题。如需修改,请务必进行充分测试。

    -- 配置单个Serverless Computing分配的最大CU,默认为512。
    SET hg_experimental_serverless_computing_max_cores = 512;
    
    -- 重置配置
    reset hg_experimental_serverless_computing_max_cores;
  • 使用示例

    -- 使用Serverless Computing资源执行SQL
    SET hg_computing_resource = 'serverless';
    
    -- 设置单条SQL最多使用32CU执行
    SET hg_experimental_serverless_computing_max_cores = 32;
    
    -- 执行SQL
    INSERT INTO sink_tbl SELECT * FROM source_tbl;
    
    -- 重置配置
    reset hg_computing_resource;
    reset hg_experimental_serverless_computing_max_cores;

设置Required Cores

针对hg_experimental_serverless_computing_required_cores参数,系统会根据SQL的复杂程度自动估算需要的资源量。系统自动估算出的资源量可以有效平衡Serverless资源利用和SQL执行时长。若需某条SQL能够分配到更多的Serverless Computing资源,您可通过设置hg_experimental_serverless_computing_required_cores参数进行Serverless Computing资源分配。

说明

不建议对该配置进行修改,以免因分配的资源不足而导致SQL出现内存溢出(OOM)问题。如需修改,请务必进行充分测试。

  • 您可以执行如下代码,设置单个SQL语句在执行时所分配的Serverless Computing资源。

    -- 默认为0,表示该Serverless Computing的计算资源由系统自动估算
    SET hg_experimental_serverless_computing_required_cores = XX;
    
    -- 重置配置
    reset hg_experimental_serverless_computing_required_cores;
  • 使用示例

    --使用Serverless Computing资源执行SQL
    SET hg_computing_resource = 'serverless';
    
    --Serverless Computing的计算资源不由系统估算,申请96CU的计算资源
    SET hg_experimental_serverless_computing_required_cores = 96;
    
    -- 执行SQL
    INSERT INTO sink_tbl SELECT * FROM source_tbl;
    
    -- 重置配置
    reset hg_computing_resource;
    reset hg_experimental_serverless_computing_required_cores;

Serverless Computing优先级

Hologres支持为进入Serverless Computing的SQL设置优先级。优先级取值范围1~5,5为最高优先级,默认优先级为3。通过设置单条SQL可使用的资源量上限与按优先级的排队机制,保障进入Serverless Computing的SQL稳定有序执行。

示例场景:

假设现有Hologres实例规格为32 CU,该实例可使用的Serverless Computing资源上限为96 CU。当SQL A正在使用Serverless Computing的64 CU资源运行,同时,Serverless任务队列中已有SQL B(需要申请48 CU资源,优先级5)、SQL C(需要申请32 CU资源,优先级3)等待运行。此时,系统会等待SQL A执行完成后优先申请48 CU资源用于执行SQL B,而非先使用剩余的32 CU资源来执行SQL C。

  • 您可以执行如下代码,设置Serverless Computing资源中SQL执行的优先级。

    -- 优先级范围为 [1, 5], 数值越大,优先级越高,越优先分配资源(和分配资源数量无关)
    -- 默认优先级为3.
    SET hg_experimental_serverless_computing_query_priority to 5;
    -- 重置配置
    reset hg_experimental_serverless_computing_query_priority;
  • 使用示例

    --使用Serverless Computing资源执行 SQL.
    SET hg_computing_resource = 'serverless';
    
    -- 设置该SQL的优先级是5
    SET hg_experimental_serverless_computing_query_priority to 5;
    
    -- 执行SQL
    INSERT INTO sink_tbl SELECT * FROM source_tbl;
     
    -- 重置配置
    reset hg_computing_resource;
    reset hg_experimental_serverless_computing_query_priority;

高级操作

批量指定SQL使用Serverless资源执行,可参考如下高级操作,下列操作按优先级由高到低生效:

  1. Session级别(SQL级别)设置hg_computing_resource参数为'serverless',使用Serverless资源执行。请参见Serverless Computing优先级

  2. 用户级别设置hg_computing_resource参数为'serverless',使用Serverless资源执行。

  3. 查询队列Query Queue级别设置全部使用Serverless资源执行。

  4. 符合自适应Serverless条件,使用Serverless资源执行。

  5. 不符合上述条件,则使用本实例资源执行。如果符合大查询自动使用Serverless资源重跑的条件,则大查询自动熔断并使用Serverless资源重跑.。

设置用户/角色的全部SQL默认通过Serverless Computing执行

您可以执行如下代码,针对某一用户/角色,使其发起的全部SQL均默认使用Serverless Computing资源执行。

--针对某用户在某DB下,默认使用Serverless Computing资源执行SQL
ALTER USER <user_name> IN DATABASE <db_name> SET hg_computing_resource = 'serverless';
说明
  • 该配置方法的优先级高于数据库级别配置GUC,低于Session级别配置GUC,详情请参见GUC参数

  • 若需要取消上述配置,请执行代码ALTER USER <user_name> IN DATABASE <db_name> RESET hg_computing_resource;

设置查询队列Query Queue的全部SQL通过Serverless Computing执行

您可以执行如下代码,以针对某一查询队列,使其所有SQL语句均使用Serverless Computing资源执行。有关查询队列的配置方法,详情请参见查询队列Query Queue

说明

如果实例所在可用区不支持Serverless Computing,仍将使用本实例计算资源执行。

  • 通用型实例

    -- 设置目标Queue中的查询全部通过Serverless资源运行
    CALL hg_set_query_queue_property('<query_queue_name>', 'computing_resource', 'serverless');
    
    -- (可选)设置目标Queue中的查询使用Serverless资源时的优先级,支持1-5,默认为3
    CALL hg_set_query_queue_property('<query_queue_name>', 'query_priority_when_using_serverless_computing', '<priority>');
  • 计算组型实例

    -- 设置目标Queue中的查询全部通过Serverless资源运行
    CALL hg_set_query_queue_property('<warehouse_name>', '<query_queue_name>', 'computing_resource', 'serverless');
    
    -- (可选)设置目标Queue中的查询使用Serverless资源时的优先级,支持1-5,默认为3
    CALL hg_set_query_queue_property('<warehouse_name>', '<query_queue_name>', 'query_priority_when_using_serverless_computing', '<priority>');

自适应Serverless

SQL使用的Serverless资源量由Quota、Max Cores、Required Cores三者的最小值决定。其中,Required Cores支持通过Hologres系统自动估算。

Hologres V3.1版本起支持自适应Serverless路由能力。您可以自定义阈值,将系统自动估算Required Cores较大的Query自动使用Serverless资源执行。该阈值包括绝对阈值和比例阈值两方面,当系统自动估算的Required Cores同时超过两个阈值时,Query会自动使用Serverless资源执行。

  • 开启自适应Serverless功能。两个参数需同时开启,该功能才会生效。

    -- Session级别开启
    SET hg_enable_adaptive_serverless_computing = on;
    SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;
    
    -- User级别开启
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_enable_adaptive_serverless_computing = on;
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;
    
    -- DB级别开启
    ALTER DATABASE <db_name> SET hg_enable_adaptive_serverless_computing = on;
    ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_enable_big_query_isolation = on;
  • 修改自适应Serverless功能的阈值。

    Required Cores > max(比例阈值, 绝对阈值)时,Query自动使用Serverless资源执行。

    • hg_adaptive_serverless_computing_min_resource_ratio_threshold:比例阈值系数,默认值0.3。

      • 计算组型实例:比例阈值 = 比例阈值系数 * 计算组计算资源。

      • 通用型实例:比例阈值 = 比例阈值系数 * 实例计算资源。

    • hg_adaptive_serverless_computing_min_cores_threshold:绝对阈值,默认值256。

    -- Session级别修改
    SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
    SET hg_adaptive_serverless_computing_min_cores_threshold = 256;
    
    -- User级别修改
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
    ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_adaptive_serverless_computing_min_cores_threshold = 256;
    
    -- DB级别修改
    ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_min_resource_ratio_threshold = 0.3;
    ALTER DATABASE <db_name> SET hg_adaptive_serverless_computing_min_cores_threshold = 256;

由于自适应Serverless功能是否应用会受系统自动估算逻辑影响,Hologres提供资源预估函数(hg_estimate_adaptive_serverless_computing),用于计算对应SQL由系统自动估算的Required Cores以及自适应Serverless功能是否生效。函数有如下返回值:

返回值名称

说明

estimated_cores

该SQL由系统自动估算的Required Cores数量。

status

该SQL在当前参数配置下是否受自适应Serverless功能作用,并自动使用Serverless资源执行。

  • eligible:符合阈值条件,并将自动使用Serverless资源执行。

  • ineligible:不符合阈值条件,仍使用本实例资源执行。

  • invalid:不符合Serverless Computing的适用条件,仍使用本实例资源执行。

adaptive_serverless_computing_min_ratio_threshold

当前配置的比例阈值系数。

adaptive_serverless_computing_min_cores_threshold

当前配置的绝对阈值。

-- SQL不涉及单引号转义时使用
SELECT * FROM hologres.hg_estimate_adaptive_serverless_computing('SELECT * FROM tbl;');

-- SQL涉及单引号转义时使用
SELECT * FROM hologres.hg_estimate_adaptive_serverless_computing($$INSERT INTO test_tbl_dst_1 SELECT * FROM test_tbl_src;$$);

大查询自动使用Serverless资源重跑

如果SQL已经使用本实例资源执行,支持定义执行时长超过x秒或出现OOM的Query为大查询,并支持配置大查询自动熔断,进而使用Serverless资源重跑。详情请参见大查询控制

监控与运维

查看实例使用Serverless Computing的监控指标

您可通过以下方式查看Serverless Query最长运行时长、Serverless Computing Query排队数量、Serverless Computing资源Quota使用率的监控指标。如有需要,可进一步配置监控告警,详情请参见云监控

  1. 登录Hologres管理控制台

  2. 在Hologres管理控制台顶部菜单栏,选择目标地域。

  3. 单击左侧导航栏的实例列表

  4. 实例列表页面单击目标实例名称,进入实例详情页。

    您也可以单击目标实例操作列的管理,进入实例详情页。

  5. 在实例详情页左侧导航栏,单击监控信息,查看监控指标。

查看Serverless Computing资源中SQL任务的运行状态

  • 查看Serverless Computing资源中正在运行的SQL任务。

    SELECT
        *,
        (running_info::json) ->> 'computing_resource' AS computing_resource,
        (running_info::json) ->> 'current_stage' AS current_stage
    FROM
        hg_stat_activity
    WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
        AND (running_info::json) -> 'current_stage'->>'stage_name' = 'EXECUTE'
  • 查看Serverless Computing资源中排队的SQL任务。

    SELECT
        *,
        (running_info::json) ->> 'computing_resource' AS computing_resource,
        (running_info::json) ->> 'current_stage' AS current_stage
    FROM
        hg_stat_activity
    WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
        AND (running_info::json) -> 'current_stage'->>'stage_name' = 'QUEUE'
  • 查看Serverless Computing资源中SQL任务的运行状态。

    SELECT
        *,
        (running_info::json) ->> 'computing_resource' AS computing_resource,
        (running_info::json) ->> 'current_stage' AS current_stage
    FROM
        hg_stat_activity
    WHERE 
        query_id = '<query_id>';

查询历史的Serverless Computing任务

说明

hologres.hg_query_loghologres.hg_serverless_computing_query_log均保留近30天的数据。

  • 在慢Query日志中查看在Serverless Computing资源中执行的历史任务。

    SELECT
        *,
        extended_cost::json ->> 'queue_time_ms' AS queue_time_ms,--Serverless Computing资源中SQL等待排队时长。
        extended_cost::json ->> 'serverless_allocated_cores' AS serverless_allocated_cores,--Serverless Computing资源分配给当前SQL的CU数。
        extended_cost::json ->> 'serverless_allocated_workers' AS serverless_allocated_workers,--Serverless Computing资源分配给当前SQL的Worker数。
        extended_cost::json ->> 'serverless_resource_used_time_ms' AS serverless_resource_used_time_ms--当前SQL实际占用Serverless Computing资源的时长。
    FROM
        hologres.hg_query_log
    WHERE
        query_extinfo @> ARRAY['serverless_computing'::text];
  • hologres.hg_serverless_computing_query_log视图中查看在Serverless Computing资源中执行的历史任务。

    SELECT
        *
    FROM
        hologres.hg_serverless_computing_query_log;
    说明

    自2.1.18版本开始,为了方便查询,将慢Query日志中Serverless Computing任务相关内容固化为列,并且新增了hologres hg_serverless_computing_query_log视图。相对于慢Query日志hologres.hg_serverless_computing_query_log视图中新增以下字段:

    • queue_time_ms:Serverless Computing资源中SQL等待排队时长,单位毫秒(ms)。

    • serverless_allocated_cores:Serverless Computing资源实际分配给当前SQL的CU数。

    • serverless_allocated_workers:Serverless Computing资源实际分配给当前SQL的Worker数。

    • serverless_resource_used_time_ms:当前SQL实际占用Serverless Computing资源的时长,单位毫秒(ms)。

    • extended_info字段中新增以下信息:

      • serverless_computing_source:表示SQL来源,表示使用Serverless Computing资源执行的SQL。取值如下:

        • user_submit:自行指定使用Serverless资源执行的SQL,与Query Queue无关。

        • query_queue:指定查询队列的SQL全部由Serverless资源执行。

        • big_query_isolation_service:通过自适应Serverless功能而使用Serverless资源运行的Query,请参见自适应Serverless

        • query_queue_rerun:通过Query Queue的大查询控制功能,自动使用Serverless资源重新运行的SQL。

      • query_id_of_triggered_rerun:该字段仅在serverless_computing_source为query_queue_rerun时存在,表示重新运行的SQL对应的原始Query ID。

    针对部分特殊任务,如COPY、CTAS、INSERT OVERWRITE等,在慢Query日志中会产生多条记录,这些记录包括任务SQL本身及其执行过程中产生的INSERT记录。其中的INSERT会实际使用Serverless资源执行。可以通过任务SQL本身的trans_id字段与INSERT记录进行关联,关联示例如下。

    SELECT 
        query_id,
        query,
        extended_info 
    FROM 
        hologres.hg_query_log 
    WHERE 
        extended_info ->> 'source_trx' = '<transaction_id>' -- 通过COPY/CTAS/RESHARDING等本身记录的trans_id字段可以取到transaction_id
        -- extended_info ->> 'src_query_id' = 'query_id'	-- 存储过程不是一个事务,因此需要通过query_id字段关联
        -- query like '%<transaction_id>%'	-- RESHARDING任务无法通过extended_info字段关联,需要通过query字段
    ORDER BY 
        query_start
    ;

查看当前数据库运行的SQL占用的Serverless Computing资源

  • 查看Serverless Computing资源中正在运行的SQL任务占用的总资源量。

    SELECT
        datname::text as db_name,
        (running_info::json) -> 'current_stage' ->> 'stage_name' AS current_stage,
        SUM(((running_info::json) -> 'current_stage' ->> 'serverless_allocated_cores')::int) AS total_computing_resource,
        count(1) as query_qty
    FROM
        hg_stat_activity
    WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
    GROUP BY
        1,
        2;
  • 返回结果字段说明

    字段

    描述

    db_name

    数据库名称。

    current_stage

    当前SQL执行阶段。

    • PARSE:SQL解析。

    • OPTIMIZE:生成执行计划。

    • QUEUE:等待资源。

    • START:Query开始阶段。

    • EXECUTE:Query执行阶段。

    • FINISH:Query完成。

    total_computing_resource

    在当前数据库和SQL执行阶段,使用的Serverless Computing资源总量。

    query_qty

    SQL数量。