workload级别索引推荐

    • 数据库状态正常、客户端能够正常连接。
    • 当前执行用户下安装有gsql工具,该工具路径已被加入到PATH环境变量中。
    • 具备Python3.6+的环境。
    • 若使用本功能提供的业务数据抽取功能,需提前将要收集的节点的GUC参数按如下设置:

      • log_min_duration_statement = 0
      • log_statement= ‘all’

    1. 按前提条件中要求设置相关GUC参数。
    2. 其中的输入参数依次为:

      • OUTPUT_PATH:输出SQL流水文件文件的保存路径,即抽取出的业务数据存放的文件路径。
      • DATABASE:(可选)数据库名称,不指定默认所有数据库。
      • USERNAME:(可选)用户名称,不指定默认所有用户。
      • start_time:(可选)日志收集的开始时间, 不指定默认所有文件。
      • sql_amount:(可选)收集SQL数量的最大值, 不指定默认收集所有SQL。
      • statement:(可选)表示收集pg_log日志中statement标识开头的SQL,不指定默认不收集。
      • json:指定收集日志的文件存储格式为SQL归一化后的json,不指定默认格式每条SQL占一行。

      使用示例:

    3. 1中设置的GUC参数还原为设置前的值。

    1. 准备好包含有多条DML语句的文件作为输入的workload,文件中每条语句占据一行。用户可从数据库的离线日志中获得历史的业务语句。
    2. 其中的输入参数依次为:

      • PORT:连接数据库的端口号。
      • FILE:包含workload语句的文件路径。
      • HOST:(可选)连接数据库的主机号。
      • USERNAME:(可选)连接数据库的用户名。
      • PASSWORD:(可选)连接数据库用户的密码。
      • SCHEMA:模式名称。
      • MAX_INDEX_NUM:(可选)最大的索引推荐数目。
      • MAX_INDEX_STORAGE:(可选)最大的索引集合空间大小。
      • multi_node:(可选)指定当前是否为分布式数据库实例。
      • multi_iter_mode:(可选)算法模式,可通过是否设置该参数来切换算法。
      • json:(可选)指定workload语句的文件路径格式为SQL归一化后的json,默认格式每条SQL占一行。
      • driver:(可选)指定是否使用python驱动器连接数据库,默认gsql连接。

      例如:

      推荐结果为一批索引,以多个创建索引语句的格式显示在屏幕上,结果示例。