更新时间:2024-11-12 GMT+08:00
分享

AI特性函数

  • gs_index_advise(text)

    描述:针对单条查询语句推荐索引。

    参数:SQL语句字符串。

    返回值类型:record

    示例请参见《特性指南》的“DBMind: 数据库自治运维 > DBMind的AI子功能 > Index-advisor:索引推荐 > 单query索引推荐”章节。

  • hypopg_create_index(text, [text])

    描述:创建虚拟索引。

    参数:创建索引语句的字符串,创建的虚拟索引的级别(可选)。

    返回值类型:record

    示例请参见《特性指南》的“DBMind: 数据库自治运维 > DBMind的AI子功能 > Index-advisor:索引推荐 > 虚拟索引”章节。

  • hypopg_display_index([text])

    描述:显示所有创建的虚拟索引信息。

    参数:显示的虚拟索引级别(可选)。

    返回值类型:record

    示例请参见《特性指南》的“DBMind: 数据库自治运维 > DBMind的AI子功能 > Index-advisor:索引推荐 > 虚拟索引”章节。

  • hypopg_drop_index(oid)

    描述:删除指定的虚拟索引。

    参数:索引的oid。

    返回值类型:bool

    示例请参见《特性指南》的“DBMind: 数据库自治运维 > DBMind的AI子功能 > Index-advisor:索引推荐 > 虚拟索引”章节。

  • hypopg_reset_index([text])

    描述:清除所有虚拟索引。

    参数:清除的虚拟索引级别(可选)。

    返回值类型:无

    示例请参见《特性指南》的“DBMind: 数据库自治运维 > DBMind的AI子功能 > Index-advisor:索引推荐 > 虚拟索引”章节。

  • hypopg_estimate_size(oid)

    描述:估计指定索引创建所需的空间大小。

    参数:索引的oid。

    返回值类型:int8

    示例请参见《特性指南》的“DBMind: 数据库自治运维 > DBMind的AI子功能 > Index-advisor:索引推荐 > 虚拟索引”章节。

  • check_engine_status(ip text, port text)

    描述:测试给定的IP和port上是否有predictor engine提供服务。

    参数:predictor engine的IP地址和端口号。

    返回值类型:text

    该函数当前版本不可用。

  • encode_plan_node(optname text, orientation text, strategy text, options text, dop int8, quals text, projection text)

    描述:对入参的计划算子信息进行编码。

    参数:计划算子信息。

    返回值类型:text

    该函数为内部功能调用函数,不建议用户直接使用。

  • model_train_opt(template text, model text)

    描述:训练给定的查询性能预测模型。

    参数:性能预测模型的模板名和模型名。

    返回值类型:tartup_time_accuracy FLOAT8, total_time_accuracy FLOAT8, rows_accuracy FLOAT8, peak_memory_accuracy FLOAT8

    该函数当前版本不可用。

  • track_model_train_opt(ip text, port text)

    描述:返回给定IP和port predictor engine的训练日志地址。

    参数:predictor engine的IP地址和端口号。

    返回值类型:text

    该函数当前版本不可用。

  • encode_feature_perf_hist(datname text)

    描述:将目标数据库已收集的历史计划算子进行编码。

    参数:数据库名。

    返回值类型:queryid bigint, plan_node_id int, parent_node_id int, left_child_id int, right_child_id int, encode text, startup_time bigint, total_time bigint, rows bigint, peak_memory int

  • gather_encoding_info(datname text)

    描述:调用encode_feature_perf_hist,将编码好的数据进行持久化保存。

    参数:数据库名。

    返回值类型:int

  • db4ai_predict_by_bool (text, VARIADIC "any")

    描述:获取返回值为布尔型的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:bool

  • db4ai_predict_by_float4(text, VARIADIC "any")

    描述:获取返回值为float4的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:float

  • db4ai_predict_by_float8(text, VARIADIC "any")

    描述:获取返回值为float8的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:float

  • db4ai_predict_by_int32(text, VARIADIC "any")

    描述:获取返回值为int32的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:int

  • db4ai_predict_by_int64(text, VARIADIC "any")

    描述:获取返回值为int64的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:int

  • db4ai_predict_by_numeric(text, VARIADIC "any")

    描述:获取返回值为numeric的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:numeric

  • db4ai_predict_by_text(text, VARIADIC "any")

    描述:获取返回值为字符型的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:text

  • db4ai_predict_by_float8_array(text, VARIADIC "any")

    描述:获取返回值为字符型的模型进行模型推断任务。此函数为内部调用函数,建议直接使用语法PREDICT BY进行推断任务。

    参数:模型名称和推断任务的输入列。

    返回值类型:text

  • gs_explain_model(text)

    描述:获取返回值为字符型的模型进行模型解析文本化任务。

    参数:模型名称。

    返回值类型:text

    示例:

    --创建数据表。
    gaussdb=# CREATE TABLE houses (
    id INTEGER,
    tax INTEGER,
    bedroom INTEGER,
    bath DOUBLE PRECISION,
    price INTEGER,
    size INTEGER,
    lot INTEGER,
    mark text
    );
    
    --插入训练数据。
    gaussdb=# INSERT INTO houses(id, tax, bedroom, bath, price, size, lot, mark) VALUES
    (1,590,2,1,50000,770,22100,'a+'),
    (2,1050,3,2,85000,1410,12000,'a+'),
    (3,20,2,1,22500,1060,3500,'a-'),
    (4,870,2,2,90000,1300,17500,'a+'),
    (5,1320,3,2,133000,1500,30000,'a+'),
    (6,1350,2,1,90500,850,25700,'a-'),
    (7,2790,3,2.5,260000,2130,25000,'a+'),
    (8,680,2,1,142500,1170,22000,'a-'),
    (9,1840,3,2,160000,1500,19000,'a+'),
    (10,3680,4,2,240000,2790,20000,'a-'),
    (11,1660,3,1,87000,1030,17500,'a+'),
    (12,1620,3,2,118500,1250,20000,'a-'),
    (13,3100,3,2,140000,1760,38000,'a+'),
    (14,2090,2,3,148000,1550,14000,'a-'),
    (15,650,3,1.5,65000,1450,12000,'a-');
    
    --训练模型。
    gaussdb=# CREATE MODEL gs_explain
    USING logistic_regression
     FEATURES size, lot
     TARGET mark
     FROM HOUSES
     WITH learning_rate=0.88, max_iterations=default;
    
    —文本化模型
    gaussdb=# select *from gs_explain_model('price_model');
                            gs_explain_model
    ----------------------------------------------------------------
     Name: price_model                                             +
     Algorithm: logistic_regression                                +
     Query: CREATE MODEL price_model USING logistic_regression     +
      FEATURES size, lot                                           +
      TARGET mark                                                  +
      FROM HOUSES                                                  +
      WITH learning_rate=0.88, max_iterations=default;             +
     Return type: Text                                             +
     Pre-processing time: 0.000000                                 +
     Execution time: 0.000262                                      +
     Processed tuples: 15                                          +
     Discarded tuples: 0                                           +
     batch_size: 1000                                              +
     decay: 0.9500000000                                           +
     learning_rate: 0.8800000000                                   +
     max_iterations: 100                                           +
     max_seconds: 0                                                +
     optimizer: gd                                                 +
     tolerance: 0.0005000000                                       +
     seed: 1719571149                                              +
     verbose: false                                                +
     accuracy: 0.5333333611                                        +
     f1: 0.5333333611                                              +
     precision: 0.5000000000                                       +
     recall: 0.5714285970                                          +
     loss: -nan                                                    +
     weights: {1636.68648564241,-119.516647562169,1.12196231032849}+
     categories: {a+,a-}                                           +
    (1 row)
    
  • gs_ai_stats_explain(text, text[])

    描述:打印对应表和列上的多列智能统计信息。

    参数:表名称和列名集合。

    返回值类型:text

  • gs_acm_analyze_workload_manual()

    描述:手动基于当前数据库下的算子反馈数据训练基数估计模型。

    参数:无。

    返回值类型:text

  • gs_stat_get_acm_feedback_operator_info()

    描述:展示目前全局内存中收集到的所有算子反馈数据。

    参数:无。

    返回值类型:record

  • gs_stat_get_sql_feedback_info()

    描述:展示目前全局内存中反馈基数功能生效范围内SQL使用反馈次数以及使用和不使用分别的执行时间。

    参数:无。

    返回值类型:record

  • gs_costmodel_calibration_manual()

    描述:手动触发算子时间收集并且矫正代价模型参数。

    参数:无。

    返回值类型:text

  • gs_show_aplan(cstring)

    描述:查看本session中缓存的查询的多计划缓存。

    参数:表示prepare name用于查找对应的缓存计划。

    返回值类型:text

  • ai_watchdog_detection_warnings()

    描述:获取AI Watchdog的风险告警信息。需要SYSADMIN或MONADMIN访问权限。

    参数:无。

    返回值类型:record

  • ai_watchdog_monitor_status(int)

    描述:获取AI Watchdog的监控信息。需要SYSADMIN或MONADMIN访问权限。

    参数:返回监控序列的长度上限。

    返回值类型:record

  • ai_watchdog_parameters()

    描述:获取AI Watchdog的内部参数或状态信息。需要SYSADMIN或MONADMIN访问权限。

    参数:无。

    返回值类型:record

相关文档