
# 其它函数
- pgxc_pool_check() 描述：检查连接池中缓存的连接数据是否与pgxc_node一致。
  返回值类型：Boolean
  
- pgxc_pool_reload() 描述：更新连接池中缓存的连接信息。
  返回值类型：Boolean
  
- reload_active_coordinator() 描述：对所有存活的CN，更新连接池中缓存的连接信息。
  返回值类型：void
  
- pgxc_lock_for_backup() 描述：为备份操作给集群加锁，这些备份是为在新增节点上做恢复。
  返回值类型：Boolean
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  pgxc_lock_for_backup是在使用gs_dump或gs_dumpall工具备份集群前，用来给集群加锁的。当给集群加锁后，不允许有改变系统结构的操作。该函数不影响DML语句。
  
- pg_pool_validate(clear bool, node_name text) 描述：显示CN到节点node_name之间pooler中无效连接，当clear为true时清理无效连接。
  返回值类型：record
  
- gs_validate_node_conn(validate_type cstring, validate_node_name cstring) 描述：显示或清除当前节点接收来自指定节点的连接。
  返回值类型：record
  表1gs_validate_node_conn函数参数说明 
  | 参数类型 | 参数名                | 类型      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  |:---|:---|:---|:---|
  | 输入参数 | validate_type      | cstring | 指定入参类型： - 'check'：用于显示当前节点接收来自指定节点的连接。  - 'clear'：用于清除当前节点接收来自指定节点的连接。   |
  | 输入参数 | validate_node_name | cstring | 指定节点名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | 输出参数 | pid                | bigint  | 显示当前节点接收来自指定节点连接的线程id（若是线程池线程则为0）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | 输出参数 | sessionid          | bigint  | 显示当前节点接收来自指定节点连接的session id（若是非线程池线程则为0）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
  | 输出参数 | node_name          | text    | 显示当前节点接收来自指定节点连接的节点名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     
  
- pgxc_pool_connection_status() 描述：检查pooler连接状态是否正常。
  返回值类型：boolean
  
- pg_nodes_memory() 描述：查看所有节点的内存占用。
  返回值类型：record
  
- table_skewness(text) 描述：查看表数据在所有节点的占比。
  参数：表示待查询表的表名，为text类型。
  返回值类型：record
  
- table_skewness(text, text, text) 描述：查看表数据指定列在所有节点的占比。
  参数：表示待查询表的表名、指定列名、指定的表的记录数（默认值为0，查询所有记录），都为text类型。
  返回值类型：record
  返回值说明：节点编号，指定列的数据行数，当前节点数据量相对总数据量的占比。
  示例：
  ```
  返回't'表'a'字段前5行数据在节点上的分布。
  gaussdb=# select table_skewness('t', 'a',5);
   table_skewness
  ----------------
   (1,3,60.000%)
   (2,2,40.000%)
  (2 rows)
  返回't'表'a'字段所有数据在节点上的分布。
  gaussdb=# select table_skewness('t', 'a');
   table_skewness
  ----------------
   (1,7,70.000%)
   (2,2,20.000%)
   (0,1,10.000%)
  (3 rows)
  ```
  
- table_skewness_with_schema(text, text) 描述：查看表数据在所有节点的占比，与table_skewness(text)作用相同。
  参数：表示待查询表的schema名称和表名，为text类型。
  返回值类型：record
  
- table_data_skewness(colrecord, type) 描述：查看表数据所在节点。
  参数说明：
  colrecord：表示待查询表的列名记录，为record类型。
  type：hash分布类型
  返回值类型：smallint
  示例：
  ```
  --返回'test1'表的'index'字段数据所在的节点。
  gaussdb=# select table_data_skewness(row(index), 'R') from test1;
   table_data_skewness
  ---------------------
                     4
                     3
                     1
                     2
  (4 rows)
  ```
  
- table_distribution(schemaname text, tablename text) 描述：查看指定表在各个节点上占用的存储空间。
  参数：表示待查询表的模式名和表名，均为text类型。
  返回值类型：record
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 使用本函数查询指定表存储分布信息，需要具备指定表的SELECT权限。
  
  - table_distribution性能比table_skewness更优，大数据量场景下，请优先考虑使用table_distribution函数。
  
  - 当使用table_distribution并希望直观地看到空间占比时，可使用dnsize/(sum(dnsize) over ())的方式查看出具体的占比情况。
    
- table_distribution() 描述：查看当前库中所有表在各节点的存储空间分布情况。
  返回值类型：record
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 使用本函数涉及全库表信息查询，需要具备管理员权限。
  
  - 当前基于table_distribution()函数，GaussDB提供视图[PGXC_GET_TABLE_SKEWNESS](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-1163.html#ZH-CN_TOPIC_0000002200350906)进行数据倾斜查询，建议在数据库中表数量（小于10000）较少的场景直接使用。
    
- plan_seed() 描述：获取前一次查询语句的seed值（内部使用）。
  返回值类型：int
  
- pg_stat_get_env() 描述：获取当前节点的环境变量信息，仅sysadmin和monitor admin可以访问。
  返回值类型：record
  示例：
  ```
  gaussdb=# select pg_stat_get_env();
                                                                                pg_stat_get_env
  ---------------------------------------------------------------------------------------------------------------------------------------
   (coordinator1,localhost,144773,49100,/data1/GaussDB_Kernel_TRUNK/install,/data1/GaussDB_Kernel_TRUNK/install/data/coordinator1,pg_log)
  (1 row)
  ```
  
- pg_catalog.plancache_clean() 描述：清理节点上无人使用的全局计划缓存。
  返回值类型：bool
  
- pg_stat_get_thread() 描述：提供当前节点下线程的状态信息，sysadmin和monitor admin用户可以查看所有线程的信息，普通用户只能查看本用户的线程信息。
  返回值类型：record
  
- pgxc_get_os_threads() 描述：提供整个集群中所有正常节点下的线程状态信息。
  返回值类型：record
  
- pg_stat_get_sql_count() 描述：提供当前节点中用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的计数结果，sysadmin和monitor admin用户可以查看所有用户的信息，普通用户只能查看本用户的统计信息。
  返回值类型：record
  
- pgxc_get_sql_count() 描述：提供整个集群所有节点中所有用户执行的SELECT/UPDATE/INSERT/DELETE/MERGE INTO语句的计数结果。
  返回值类型：record
  
- pgxc_get_node_env() 描述：提供获取集群中所有节点的环境变量信息。
  返回值类型：record
  
- pgxc_disaster_read_set(text) 描述：设置灾备集群的节点信息到ETCD上。仅灾备集群可用，仅初始用户可调用。
  返回值类型：Boolean
  
- pgxc_disaster_read_init() 描述：初始化灾备可读的资源和状态信息。仅灾备集群可用，仅初始用户可调用。
  返回值类型：Boolean
  
- pgxc_disaster_read_clear() 描述：清理灾备可读的资源和状态信息。仅灾备集群可用，仅初始用户可调用。
  返回值类型：Boolean
  
- pgxc_disaster_read_status() 描述：提供灾备集群的节点信息，仅灾备集群可用。
  返回值类型：record
  
- gs_switch_relfilenode() 描述：交换两个表或分区的元信息（重分布工具内部使用，用户直接使用会有错误信息提示）。
  返回值类型：int
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  此函数可能导致清空统计信息，建议在调用后重新收集统计信息。
  
- pg_catalog.plancache_clean() 描述：清理当前节点上无人使用的全局计划缓存。
  返回值类型：boolean
  
- DBE_PERF.global_plancache_clean() 描述：清理所有节点上无人使用的全局计划缓存。
  返回值类型：Boolean
  
- copy_error_log_create() 描述：创建COPY FROM容错机制所需要的错误表（public.pgxc_copy_error_log）。
  返回值类型：Boolean
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 此函数会尝试创建public.pgxc_copy_error_log表，表的详细信息请参见[表2]。
  
  - 在relname列上创建B-tree索引，并REVOKE ALL on public.pgxc_copy_error_log FROM public对错误表进行权限控制（与COPY语句权限一致）。
  
  - 由于尝试创建的public.pgxc_copy_error_log定义是一张行存表，因此集群上必须支持行存表的创建才能够正常运行此函数，并使用后续的COPY容错功能。需要特别注意的是，enable_hadoop_env这个GUC参数开启后会禁止在集群内创建行存表（GaussDB默认为off）。
  
  - 此函数自身权限为Sysadmin及以上（与错误表、COPY权限一致）。
  
  - 若创建前public.pgxc_copy_error_log表已存在或者copy_error_log_relname_idx索引已存在，则此函数会报错回滚。
   
   表2错误表public.pgxc_copy_error_log信息 
  | 列名称       | 类型                       | 描述                     |
  |:---|:---|:---|
  | relname   | character varying        | 表名称。以模式名.表名形式显示。       |
  | begintime | timestamp with time zone | 出现数据格式错误的时间。           |
  | filename  | character varying        | 出现数据格式错误的数据源文件名。       |
  | lineno    | bigint                   | 在数据源文件中，出现数据格式错误的行号。   |
  | rawrecord | text                     | 在数据源文件中，出现数据格式错误的原始记录。 |
  | detail    | text                     | 详细错误信息。                |
     
  
- pg_stat_get_data_senders() 描述：提供当前活跃的数据复制发送线程的详细信息。
  返回值类型：record
  
- textlen() 描述：提供查询text的逻辑长度的方法。
  返回值类型：int
  
- threadpool_status() 描述：显示线程池中工作线程及会话的状态信息。
  返回值类型：record
  
- get_local_active_session() 描述：提供当前节点保存在内存中的历史活跃session状态的采样记录，sysadmin和monitor admin权限能查看当前节点所有的历史活跃session记录，普通用户查看本会话的历史活跃session记录。
  返回值类型：record
  
- dbe_perf.get_global_active_session() 描述：提供所有节点保存在内存中的历史活跃session状态的采样记录。
  返回值类型：record
  
- dbe_perf.get_global_gs_asp(timestamp, timestamp) 描述：提供所有节点保存在系统表gs_asp中的历史活跃session状态的采样记录。
  返回值类型：record
  
- get_wait_event_info() 描述：提供wait event事件的具体信息。
  返回值类型：record
  
- dbe_perf.get_datanode_active_session(text) 描述：提供从CN查询DN上保存在内存中的历史活跃session状态的采样记录。
  返回值类型：record
  备注：该函数查询目标DN上local_active_session视图中记录并和所有CN上的local_active_session中的记录进行匹配获取query string，所以会占用大量的内存。
  
- dbe_perf.get_datanode_active_session_hist(text, timestamp, timestamp) 描述：提供从CN查询DN上保存在系统表gs_asp中的历史活跃session状态的采样记录。
  返回值类型：record
  备注：该函数查询目标DN上指定时间段的gs_asp记录，如果指定时间段过长造成查询的记录过多，会耗费大量时间。
  
- generate_wdr_report(bigint, bigint, cstring, cstring,cstring) 描述：基于两个snapshot生成系统诊断报告，默认初始化用户或监控管理员用户可以访问。只可在系统库中查询到结果，用户库中无法查询。
  返回值类型：text
  表3generate_wdr_report参数说明 
  |      参数       |                                                                                                                                                                                                                                                 说明                                                                                                                                                                                                                                                 |                                                                                                                                                                                                                                                                                                    取值范围                                                                                                                                                                                                                                                                                                    |
  |---|---|---|
  | begin_snap_id | 生成某段时间内性能诊断报告的开始snapshotid。                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | end_snap_id   | 结束snapshot的id，默认end_snap_id大于begin_snap_id。                                                                                                                                                                                                                                                                                                                                                                                                                                                        | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | report_type   | 指定生成report的类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | - summary  - detail  - all，即同时包含summary和detail。   |
  | report_scope  | 指定生成report的范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | - cluster：数据库级别的信息  - node：节点级别的信息。                                                                                                                                                                     |
  | node_name     | - 在"report_scope"指定为"node"时，需要把该参数指定为对应节点的名称。  - 在"report_scope"为"cluster"时，该参数可以省略，或指定为NULL。   | - node：GaussDB中的节点名称。  - cluster：省略/空/NULL。                                               |
     
  
- create_wdr_snapshot() 描述：手工生成系统诊断快照，该函数需要sysadmin权限，且只能在CCN上执行。
  返回值类型：text
  
- kill_snapshot() 描述：kill后台的WDR snapshot线程，调用该函数的用户需要具有SYSADMIN权限或具有REPLICATION权限或继承了内置角色gs_role_replication的权限。
  返回值类型：void
  
- capture_view_to_json(text, integer) 描述：将视图的结果存入GUC: perf_directory所指定的目录，如果is_crossdb为1，则表示对于所有的database都会访问一次view；如果is_crossdb为0，则表示仅对当前database进行一次视图访问。该函数只有sysadmin和monitor admin用户可以执行。
  返回值类型：int
  
- reset_unique_sql(text, text, bigint) 描述：用来清理CN/DN内存中的Unique SQL（需要sysadmin/monitor admin权限）。
  返回值类型：Boolean
  表4reset_unique_sql参数说明 
  | 参数          | 类型   | 描述                                                                                                                                                                                                                                          |
  |:---|:---|:---|
  | scope       | text | 清理范围类型： 'GLOBAL' - 清理所有的CN/DN节点，如果是'GLOBAL'，则只可以为CN节点执行此函数。 'LOCAL' - 清理本节点。        |
  | clean_type  | text | 'BY_USERID' - 按用户ID来进行清理Unique SQL。 'BY_CNID' - 按CN的ID来进行清理Unique SQL。 'ALL' - 全部清理。 |
  | clean_value | int8 | 具体清理type对应的清理值。如果第二个参数为ALL，则第三个参数不起作用，可以取任意值。                                                                                                                                                                                               |
     
  
- wdr_xdb_query(db_name_str text, query text) 描述：提供本地跨数据库执行query的能力。例如: 在连接到testdb库时, 访问test库下的表。只有初始化用户才有权限执行。
  ```
  select col1 from wdr_xdb_query('dbname=test','select col1 from t1') as dd(col1 int);
  ```
  返回值类型：record
  
- pg_wlm_jump_queue(pid int) 描述：调整任务到CN队列的最前端。
  返回值类型：boolean
  - true：成功。
  
  - false：失败。
   
- gs_wlm_switch_cgroup(pid int, cgroup text) 描述：调整作业的优先级到新控制组。
  返回值类型：boolean
  - true：成功。
  
  - false：失败。
   
- pv_session_memctx_detail(threadid tid, MemoryContextName text) 描述：将线程tid的MemoryContextName内存上下文信息记录到"$GAUSSLOG/pg_log/${node_name}/dumpmem"目录下的"threadid_timestamp.log"文件中。其中threadid可通过查询表PV_SESSION_MEMORY_DETAIL中的sessid字段获得。在正式发布的版本中仅接受MemoryContextName为空串（两个单引号表示输入为空串，即''）的输入，此时会记录所有的内存上下文信息，否则不会有任何操作。该函数需要管理员权限的用户才能执行。
  返回值类型：boolean
  - true：成功。
  
  - false：失败。
   
- pg_shared_memctx_detail(MemoryContextName text) 描述：将MemoryContextName内存上下文信息记录到"$GAUSSLOG/pg_log/${node_name}/dumpmem"目录下的"threadid_timestamp.log"文件中。在正式发布版本中调用该函数不会有任何操作。该函数需要管理员权限的用户才能执行。
  返回值类型：boolean
  - true：成功。
  
  - false：失败。
   
- local_bgwriter_stat() 描述：显示本实例的bgwriter线程刷页信息，候选buffer链中页面个数，buffer淘汰信息。
  返回值类型：record
  
- local_candidate_stat() 描述：显示本实例的候选buffer链中页面个数，buffer淘汰信息，包含normal buffer pool和segment buffer pool。
  返回值类型：record
  
- local_ckpt_stat() 描述：显示本实例的检查点信息和各类日志刷页情况。
  返回值类型：record
  
- local_double_write_stat() 描述：显示本实例的双写文件的情况。
  返回值类型：record
  表5local_double_write_stat参数说明 
  | 参数                    | 类型   | 描述                                    |
  |:---|:---|:---|
  | node_name             | text | 实例名称。                                 |
  | curr_dwn              | int8 | 当前双写文件的序列号。                           |
  | curr_start_page       | int8 | 当前双写文件恢复起始页面。                         |
  | file_trunc_num        | int8 | 当前双写文件复用的次数。                          |
  | file_reset_num        | int8 | 当前双写文件写满后发生重置的次数。                     |
  | total_writes          | int8 | 当前双写文件总的I/O次数。                        |
  | low_threshold_writes  | int8 | 低效率写双写文件的I/O次数（一次I/O刷页数量少于16页面）。      |
  | high_threshold_writes | int8 | 高效率写双写文件的I/O次数（一次I/O刷页数量多于一批，421个页面）。 |
  | total_pages           | int8 | 当前刷页到双写文件区的总的页面个数。                    |
  | low_threshold_pages   | int8 | 低效率刷页的页面个数。                           |
  | high_threshold_pages  | int8 | 高效率刷页的页面个数。                           |
  | file_id               | int8 | 当前双写文件的id号。                           |
     
  
- local_single_flush_dw_stat() 描述：显示本实例的单页面淘汰双写文件的情况。
  返回值类型：record
  
- local_pagewriter_stat() 描述：显示本实例的刷页信息和检查点信息。
  返回值类型：record
  
- local_redo_stat() 描述：显示本实例的备机的当前回放状态。
  返回值类型：record
  备注：返回的回放状态主要包括当前回放位置，回放最小恢复点位置等信息。
  
- local_recovery_status() 描述：显示本实例的主机和备机的日志流控信息。
  返回值类型：record
  
- local_rto_status() 描述：显示本实例的主机和备机的日志流控信息。
  返回值类型：record
  
- gs_wlm_switch_cgroup(sess_id int8, cgroup name) 描述：切换指定会话的控制组。
  返回值类型：record
  
- comm_client_info() 描述：用于查询单个节点活跃的客户端连接信息，返回结果解释见[COMM_CLIENT_INFO](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0953.html#ZH-CN_TOPIC_0000002235271073)。
  返回值类型：setof record
  
- pg_get_flush_lsn() 描述：返回当前节点flush的xlog位置。
  返回值类型：text
  
- pg_get_sync_flush_lsn() 描述：返回当前节点多数派flush的xlog位置。
  返回值类型：text
  
- pgxc_wlm_rebuild_user_resource_pool() 描述：重新构建用户及资源池缓存信息。需要系统管理员权限才可以执行该函数。
  返回值类型：boolean
  
- locktag_decode(locktag text) 描述：从locktag中解析锁的具体信息。
  示例：
  ```
  gaussdb=# select locktag_decode('271b:0:0:0:0:6');
                 locktag_decode
  ---------------------------------------------
   locktype:transactionid, transactionid:10011
  (1 row)
  ```
  返回值类型：text
  
- disable_conn(disconn_mode text, host text, port integer) 描述：CM Agent处理CM Server下发的命令，在DN进行选主时设置该DN拒绝连接所有DN、强制连接某个DN或轮询连接所有DN。只有初始化用户和系统管理员才可以调用该函数。
  返回值类型：void
  表6disable_conn参数说明 
  | 参数           | 类型      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  |:---|:---|:---|
  | disconn_mode | text    | DN连接模式： - 'prohibit_connection' - 拒绝连接所有DN。  - 'specify_connection' - 强制连接某个DN。  - 'polling_connection' - 轮询连接所有DN。   |
  | host         | text    | DN的IP。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | port         | integer | DN的端口号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     
  
- dbe_perf.get_global_full_sql_by_timestamp(start_timestamp timestamp with time zone, end_timestamp timestamp with time zone) 描述：获取集群级的全量SQL(Full SQL)信息。只可在系统库中查询到结果，用户库中无法查询。
  返回值类型：record
  表7dbe_perf.get_global_full_sql_by_timestamp参数说明 
  | 参数              | 类型                       | 描述                                                        |
  |:---|:---|:---|
  | start_timestamp | timestamp with time zone | SQL启动时间范围的开始时间点。                                          |
  | end_timestamp   | timestamp with time zone | SQL启动时间范围的结束时间点。若start_timestamp\>=end_timestamp，则函数执行报错。 |
     
  
- dbe_perf.get_global_slow_sql_by_timestamp(start_timestamp timestamp with time zone, end_timestamp timestamp with time zone) 描述：获取集群级的慢SQL(Slow SQL)信息。只可在系统库中查询到结果，用户库中无法查询。
  返回值类型：record
  表8dbe_perf.get_global_slow_sql_by_timestamp参数说明 
  | 参数              | 类型                       | 描述                                                        |
  |:---|:---|:---|
  | start_timestamp | timestamp with time zone | SQL启动时间范围的开始时间点。                                          |
  | end_timestamp   | timestamp with time zone | SQL启动时间范围的结束时间点。若start_timestamp\>=end_timestamp，则函数执行报错。 |
     
  
- statement_detail_decode(detail text, format text, pretty boolean) 描述：解析全量/慢SQL语句中的details字段的信息。只可在系统库中查询到结果，用户库中无法查询。
  返回值类型：text
  表9statement_detail_decode参数说明 
  | 参数     | 类型      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  |:---|:---|:---|
  | detail | text    | SQL语句产生的事件的集合（不可读）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | format | text    | 解析输出格式，取值为plaintext。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
  | pretty | boolean | 当format为plaintext时，是否以优雅的格式展示： - true：表示通过"\\n"分隔事件。  - false：表示通过"，"分隔事件。   |
     
  
- pgxc_get_csn(tid) 描述：返回给定的事务id对应的事务提交序号（CSN）。
  返回值类型：int8
  
- get_global_user_transaction() 描述：返回所有节点上各用户的事务相关信息。
  返回值类型：node_name name、usename name、commit_counter bigint、rollback_counter bigint、resp_min bigint、resp_max bigint、resp_avg bigint、resp_total bigint、bg_commit_counter bigint、bg_rollback_counter bigint、bg_resp_min bigint、bg_resp_max bigint、bg_resp_avg bigint、bg_resp_total bigint
  
- pg_collation_for() 描述：返回入参字符串对应的排序规则
  参数：any（如果是常量必须进行显式类型转换）
  返回值类型：text
  
- pgxc_unlock_for_sp_database(name Name) 描述：释放指定数据库锁。
  参数：数据库名
  返回值类型：Boolean
  
- pgxc_lock_for_sp_database(name Name) 描述：对指定的数据库加锁。
  参数：数据库名
  返回值类型：Boolean
  
- pgxc_unlock_for_transfer(name Name) 描述：释放用于数据传输（数据重分布）锁。
  参数：数据库名
  返回值类型：Boolean
  
- pgxc_lock_for_transfer(name Name) 描述：对数据库枷锁，用于数据传输（数据重分布）。
  参数：数据库名
  返回值类型：Boolean
  
- gs_comm_proxy_thread_status() 描述：用于在集群配置用户态网络的场景下，代理通信库comm_proxy收发数据包统计。该函数在当前版本不支持。
  参数：nan
  返回值类型：record
  
- gs_catalog_attribute_records() 描述：对于指定的系统表oid，返回该系统表对应的各个字段的定义。仅支持oid小于10000的普通系统表（不支持索引、toast表等）。
  参数：系统表oid
  返回值类型：record
  
- dynamic_func_control(scope text, function_name text, action text, "{params}" text\[\]) 描述：动态开启内置的功能，当前仅支持动态开启全量SQL。
  返回值类型：record
  表10dynamic_func_control参数说明 
  | 参数            | 类型       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  |:---|:---|:---|
  | scope         | text     | 动态开启功能的范围，当前仅支持'GLOBAL/LOCAL'。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | function_name | text     | 功能的名称，当前仅支持'STMT'。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | action        | text     | 当function_name为'STMT'时，action仅支持TRACK/UNTRACK/LIST/CLEAN： - TRACK - 开始记录归一化SQL的全量SQL信息。  - UNTRACK - 取消记录归一化SQL的全量SQL信息。  - LIST - 列取当前TRACK的归一化SQL的信息。  - CLEAN - 清理记录当前归一化SQL的信息。   |
  | params        | text\[\] | 当function_name为'STMT'时，对应不同的action时，对应的params设置如下： - TRACK - '{"归一化SQLID", "L0/L1/L2"}'  - UNTRACK - '{"归一化SQLID"}'  - LIST - '{}'  - CLEAN - '{}'                           |
     
  
- gs_parse_page_bypath(path text, blocknum bigint, relation_type text, read_memory boolean) 描述：用于解析指定表页面，并返回存放解析内容的路径。
  返回值类型：text
  备注：必须是系统管理员或运维管理员才能执行此函数。
  表11gs_parse_page_bypath参数说明 
  | 参数            | 类型      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  |:---|:---|:---|
  | path          | text    | - 对于普通表，相对路径为：tablespace name/database oid/表的relfilenode(物理文件名)；例如：base/16603/16394  - 对于普通表的visibility map，相对路径为：tablespace name/database oid/表的vm文件。例如：base/16603/16394_vm。  - 对于clog文件，相对路径为：pg_clog目录下的clog文件。例如：000000000000。  - 对于csnlog文件，相对路径为：pg_csnlog目录下的csnlog文件。例如：000000000000。  - 对于undo record文件，相对路径为：undo目录下的undo/UNDOPERSISTENCE/zondid.segno。例如：undo/permanent/00000.0000009。  - 对于undo meta文件，相对路径为：undo目录下的undo/UNDOPERSISTENCE/zondid.meta.segno。例如：undo/permanent/00000.meta.0000004。  - 表文件的相对路径可以通过pg_relation_filepath(table_name text)查找。分区表的路径可以查看pg_partition系统表和调用pg_partition_filepath(partition_oid)。  - 合法的path格式列举： - global/relNode  - base/dbNode/relNode  - pg_tblspc/spcNode/version_dir/dbNode/relNode     |
  | blocknum      | bigint  | - -1：所有block的信息（强制从磁盘解析）。  - 0\~MaxBlockNumber：对应block的信息。  - 对于BTree/UBTree索引，block 0为索引元页面。  - 对于undo record文件，采用逻辑块号，对应文件block大于等于segno\*128，小于(segno+1)\*128。  - 对于undo meta文件，采用逻辑块号，对应文件block大于等于segno\*4，小于（segno+1）\*4。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | relation_type | text    | - heap（astore表）。  - uheap（ustore表）。  - btree（BTree索引）。  - ubtree（UBTree索引）。  - fsm (astore/ustore堆表空闲空间)。  - segment（段页式，预留参数，暂不支持）。  - vm（astore普通表的visibility map）。  - clog（事务状态日志commit log）。  - csnlog（快照时间戳日志commit sequence number log）。  - undo_slot（事务槽信息）。  - undo_record（undo 记录信息）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | read_memory   | boolean | - false：从磁盘文件解析。  - true：首先尝试从共享缓冲区中解析该页面；如果共享缓冲区中不存在，则从磁盘文件解析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     
  正常使用示例：
  ```
  # 解析BTree索引文件中所有页面的信息内容
  # 函数调用前请依据参数说明中的内容确保文件路径真实存在
  gaussdb=# select gs_parse_page_bypath('base/16603/16394', -1, 'btree', false);
                          gs_parse_page_bypath                        
  --------------------------------------------------------------------
   /data_dir/1663_16603_16394_-1.page
  (1 row)
  # 解析vm文件中所有block的可见性结果
  gaussdb=# select gs_parse_page_bypath('base/12828/16771_vm', -1, 'vm', false);
                           gs_parse_page_bypath                          
  -----------------------------------------------------------------------
   /data_dir/1663_12828_16771_-1_vm.page
  (1 row)
  # 解析clog文件中0号block的commit log日志
  gaussdb=# select gs_parse_page_bypath('000000000000', 0, 'clog', false); 
                          gs_parse_page_bypath                        
  --------------------------------------------------------------------
   /data_dir/000000000000.clog
  (1 row)
  ```
  异常场景报错示例：
  ```
  # 入参blocknum超出取值范围时报错
  gaussdb=# select gs_parse_page_bypath('base/12828/16777', -10, 'heap', false);
  ERROR:  Blocknum should be between -1 and 4294967294.
  CONTEXT:  referenced column: gs_parse_page_bypath
  ```
  
- gs_xlogdump_lsn(start_lsn text, end_lsn text)
  描述：用于解析指定lsn范围之内的XLOG日志，并返回存放解析内容的路径。可以通过pg_current_xlog_location()获取当前XLOG位置。
  参数：LSN起始位置，LSN结束位置。
  返回值类型：text
  备注：必须是系统管理员或运维管理员才能执行此函数。
  
- gs_xlogdump_xid(c_xid xid)
  描述：用于解析指定xid的XLOG日志，并返回存放解析内容的路径。可以通过txid_current()获取当前事务ID。
  参数：事务ID
  返回值类型：text
  备注：必须是系统管理员或运维管理员才能执行此函数。
  
- gs_xlogdump_tablepath(path text, blocknum bigint, relation_type text) 描述：用于解析指定表页面对应的日志，并返回存放解析内容的路径。
  返回值类型：text
  备注：必须是系统管理员或运维管理员才能执行此函数。
  表12gs_xlogdump_tablepath参数说明 
  | 参数            | 类型     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | path          | text   | - 对于普通表，相对路径为：tablespace name/database oid/表的relfilenode(物理文件名)。例如：base/16603/16394。  - 表文件的相对路径可以通过pg_relation_filepath(table_name text)查找。分区表的路径可以查看pg_partition系统表和调用pg_partition_filepath(partition_oid)。  - 合法的path格式列举： - global/relNode  - base/dbNode/relNode  - pg_tblspc/spcNode/version_dir/dbNode/relNode     |
  | blocknum      | bigint | - -1：所有block的信息（强制从磁盘解析）。  - 0\~MaxBlockNumber：对应block的信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | relation_type | text   | - heap(astore 表)  - btree(BTree 索引)  - segment(段页式，预留参数，暂不支持)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     
  
- gs_xlogdump_parsepage_tablepath(path text, blocknum bigint, relation_type text, read_memory boolean) 描述：用于解析指定表页面和表页面对应的日志，并返回存放解析内容的路径。可以看作一次执行gs_parse_page_bypath和gs_xlogdump_tablepath。该函数执行的前置条件是表文件存在。如果想查看已删除的表的相关日志，请直接调用gs_xlogdump_tablepath。
  返回值类型：text
  备注：必须是系统管理员或运维管理员才能执行此函数。
  表13gs_xlogdump_parsepage_tablepath参数说明 
  | 参数            | 类型      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  |:---|:---|:---|
  | path          | text    | - 对于普通表，相对路径为：tablespace name/database oid/表的relfilenode(物理文件名)；例如：base/16603/16394  - 表文件的相对路径可以通过pg_relation_filepath(table_name text)查找。分区表的路径可以查看pg_partition系统表和调用pg_partition_filepath(partition_oid)。  - 合法的path格式列举： - global/relNode  - base/dbNode/relNode  - pg_tblspc/spcNode/version_dir/dbNode/relNode     |
  | blocknum      | bigint  | - -1：所有block的信息（强制从磁盘解析）。  - 0\~MaxBlockNumber：对应block的信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | relation_type | text    | - heap(astore 表)  - btree(BTree 索引)  - segment(段页式，预留参数，暂不支持)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
  | read_memory   | boolean | - false：从磁盘文件解析；  - true：首先尝试从共享缓冲区中解析该页面；如果共享缓冲区中不存在，则从磁盘文件解析。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
     
  
- gs_index_recycle_queue(Oid oid, int type, uint32 blkno) 描述：用于解析UBtree索引回收队列信息。
  返回值类型：record
  表14gs_index_recycle_queue参数说明 
  | 参数    | 类型     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
  |:---|:---|:---|
  | oid   | Oid    | - 索引文件relfilenode，可以通过select relfilenode from pg_class where relname='name'查询，其中name表示对应的索引文件名字。                                                                                                                                                                                                                                                                    |
  | type  | int    | - 0：表示解析整个待回收队列  - 1：表示解析整个空页队列  - 2：表示解析单个页面   |
  | blkno | uint32 | 回收队列页面编号，该参数只有在type=2的时候有效，blkno有效取值范围为1\~4294967294。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
     
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  该函数功能在分布式版本上不支持，有报错提示。
  
- gs_stat_wal_entrytable(int64 idx) 描述：用于输出xlog中预写日志插入状态表的内容。
  返回值类型：record
  表15gs_stat_wal_entrytable参数说明 
  | 参数类型 | 参数名    | 类型     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|
  | 输入参数 | idx    | int64  | - -1：查询数组所有元素。  - 0-最大值：具体某个数组元素内容。                                                                                                          |
  | 输出参数 | idx    | uint64 | 记录对应数组中的下标。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
  | 输出参数 | endlsn | uint64 | 记录的LSN标签。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  | 输出参数 | lrc    | int32  | 记录对应的LRC。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  | 输出参数 | status | uint32 | 标识当前entry对应的xlog是否已经完全拷贝到wal buffer中： - 0：非COPIED  - 1: COPIED   |
     
  
- gs_walwriter_flush_position() 描述：输出预写日志的刷新位置。
  返回值类型：record
  表16gs_walwriter_flush_position参数说明 
  | 参数类型 | 参数名                     | 类型     | 描述                                                                                 |
  |:---|:---|:---|:---|
  | 输出参数 | last_flush_status_entry | int32  | Xlog flush上一个刷盘的tblEntry下标索引。                                                      |
  | 输出参数 | last_scanned_lrc        | int32  | Xlog flush上一次扫描到的最后一个tblEntry记录的LRC。                                               |
  | 输出参数 | curr_lrc                | int32  | WALInsertStatusEntry状态表中LRC最新的使用情况，该LRC表示下一个Xlog记录写入时在WALInsertStatusEntry对应的LRC值。 |
  | 输出参数 | curr_byte_pos           | uint64 | Xlog记录写入WAL 文件，最新分配的位置，下一个xlog记录插入点。                                               |
  | 输出参数 | prev_byte_size          | uint32 | 上一个xlog记录的长度。                                                                      |
  | 输出参数 | flush_result            | uint64 | 当前全局xlog刷盘的位置。                                                                     |
  | 输出参数 | send_result             | uint64 | 当前主机上xlog发送位置。                                                                     |
  | 输出参数 | shm_rqst_write_pos      | uint64 | 共享内存中记录的XLogCtl中LogwrtRqst请求的write位置。                                              |
  | 输出参数 | shm_rqst_flush_pos      | uint64 | 共享内存中记录的XLogCtl中LogwrtRqst请求的flush位置。                                              |
  | 输出参数 | shm_result_write_pos    | uint64 | 共享内存中记录的XLogCtl中LogwrtResult的write位置。                                              |
  | 输出参数 | shm_result_flush_pos    | uint64 | 共享内存中记录的XLogCtl中LogwrtResult的flush位置。                                              |
  | 输出参数 | curr_time               | text   | 当前时间。                                                                              |
     
  
- gs_walwriter_flush_stat(int operation) 描述：用于统计预写日志write与sync的次数频率与数据量，以及xlog文件的信息。
  返回值类型：record
  表17gs_walwriter_flush_stat参数说明 
  | 参数类型 | 参数名                          | 类型                                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  |:---|:---|:---|:---|
  | 输入参数 | operation                    | int  | - -1： 关闭统计开关(默认状态为关闭)。  - 0：打开统计开关。  - 1：查询统计信息。  - 2：重置统计信息。   |
  | 输出参数 | write_times                  | uint64                                                                                | Xlog调用write接口的次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | 输出参数 | sync_times                   | uint64                                                                                | Xlog调用sync接口次数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | 输出参数 | total_xlog_sync_bytes        | uint64                                                                                | Backend线程请求写入xlog总量统计值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | 输出参数 | total_actual_xlog_sync_bytes | uint64                                                                                | 调用sync接口实际刷盘的xlog总量统计值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | 输出参数 | avg_write_bytes              | uint32                                                                                | 每次调用XLogWrite接口请求写的xlog量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | 输出参数 | avg_actual_write_bytes       | uint32                                                                                | 实际每次调用write接口写的xlog量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | 输出参数 | avg_sync_bytes               | uint32                                                                                | 平均每次请求sync的xlog量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | 输出参数 | avg_actual_sync_bytes        | uint32                                                                                | 实际每次调用sync刷盘xlog量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  | 输出参数 | total_write_time             | uint64                                                                                | 调用write操作总时间统计(单位：us)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | 输出参数 | total_sync_time              | uint64                                                                                | 调用sync操作总时间统计(单位：us)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | 输出参数 | avg_write_time               | uint32                                                                                | 每次调用write接口平均时间(单位：us)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | 输出参数 | avg_sync_time                | uint32                                                                                | 每次调用sync接口平均时间(单位：us)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  | 输出参数 | curr_init_xlog_segno         | uint64                                                                                | 当前最新创建的xlog段文件编号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  | 输出参数 | curr_open_xlog_segno         | uint64                                                                                | 当前正在写的xlog段文件编号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | 输出参数 | last_reset_time              | text                                                                                  | 上一次重置统计信息的时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | 输出参数 | curr_time                    | text                                                                                  | 当前时间。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
     
  
- pg_ls_tmpdir() 描述：返回默认表空间下临时目录（pgsql_tmp）中每个文件的名称、大小和最后修改时间。
  参数：nan
  返回值类型：record
  备注：必须是系统管理员或者监控管理员才能执行此函数。
  
  | 参数类型 | 参数名          | 类型          | 描述             |
  |:---|:---|:---|:---|
  | 输出参数 | name         | text        | 文件名称。          |
  | 输出参数 | size         | int8        | 文件大小（单位：byte）。 |
  | 输出参数 | modification | timestamptz | 文件最后修改时间。      |
     
  
- pg_ls_tmpdir(oid) 描述：返回指定表空间下临时目录（pgsql_tmp）中每个文件的名称、大小和最后修改时间。
  参数：oid
  返回值类型：record
  备注：必须是系统管理员或者监控管理员才能执行此函数。
  
  | 参数类型 | 参数名          | 类型          | 描述             |
  |:---|:---|:---|:---|
  | 输入参数 | oid          | oid         | 表空间id。         |
  | 输出参数 | name         | text        | 文件名称。          |
  | 输出参数 | size         | int8        | 文件大小（单位：byte）。 |
  | 输出参数 | modification | timestamptz | 文件最后修改时间。      |
     
  
- pg_ls_waldir() 描述：返回预写日志(WAL)目录中每个文件的名称、大小和最后修改时间。
  参数：nan
  返回值类型：record
  备注：必须是系统管理员或者监控管理员才能执行此函数。
  
  | 参数类型 | 参数名          | 类型          | 描述             |
  |:---|:---|:---|:---|
  | 输出参数 | name         | text        | 文件名称。          |
  | 输出参数 | size         | int8        | 文件大小（单位：byte）。 |
  | 输出参数 | modification | timestamptz | 文件最后修改时间。      |
     
  
- gs_write_term_log(void) 描述：写入一条日志记录DN节点当前的term值。备DN节点返回false，主DN节点写入成功后返回true。
  返回值类型：Boolean
  
- gs_stat_space(bool init) 描述：用于查询UStore中做Insert操作时拓展页面的状态。
  返回值类型：record
  
  | 参数类型 | 参数名                 | 类型   | 描述                                                 |
  |:---|:---|:---|:---|
  | 输入参数 | init                | bool | 是否重置已统计的数据。                                        |
  | 输出参数 | access_func         | int8 | relation_get_buffer_for_utuple接口访问总次数。             |
  | 输出参数 | cache_blk           | int8 | relation_get_buffer_for_utuple获取缓存次数。              |
  | 输出参数 | cache_succ          | int8 | relation_get_buffer_for_utuple获取缓存成功次数。            |
  | 输出参数 | nblk_first          | int8 | relation_get_buffer_for_utuple中第一次获取nblocks-1次数。   |
  | 输出参数 | nblk_first_succ     | int8 | relation_get_buffer_for_utuple中第一次获取nblocks-1成功次数。 |
  | 输出参数 | nblk_second         | int8 | relation_get_buffer_for_utuple中第二次获取nblocks-1次数。   |
  | 输出参数 | nblk_second_succ    | int8 | relation_get_buffer_for_utuple中第二次获取nblocks-1成功次数。 |
  | 输出参数 | fsm_first           | int8 | 第一次访问FSM次数。                                        |
  | 输出参数 | fsm_first_success   | int8 | 第一次访问FSM成功次数。                                      |
  | 输出参数 | fsm_rewrite         | int8 | FSM回写次数。                                           |
  | 输出参数 | fsm_second          | int8 | 第二次访问FSM次数。                                        |
  | 输出参数 | fsm_second_sucess   | int8 | 第二次访问FSM成功次数。                                      |
  | 输出参数 | prune_count         | int8 | relation_get_buffer_for_utuple中Prune次数。            |
  | 输出参数 | prune_space         | int8 | relation_get_buffer_for_utuple中Prune总空间。           |
  | 输出参数 | coprune_count       | int8 | 联合清理执行次数。                                          |
  | 输出参数 | coprune_scan_blocks | int8 | 联合清理扫描总页数。                                         |
  | 输出参数 | coprune_prune_count | int8 | 联合清理Prune次数。                                       |
  | 输出参数 | coprune_prune_space | int8 | 联合清理Prune总空间。                                      |
  | 输出参数 | con_extend_count    | int8 | 并发扩页数量。                                            |
  | 输出参数 | con_extend_time     | int8 | 并发扩页总时间。                                           |
  | 输出参数 | single_extend_time  | int8 | 单一扩页次数。                                            |
     
  示例：
  ```
  gaussdb=# select * from gs_stat_space(false);
   access_func | cache_blk | cache_succ | nblk_first | nblk_first_succ | nblk_second | nblk_second_succ | fsm_first | fsm_first_success | fsm_rewrite | fsm_
  second | fsm_second_success | prune_count | prune_space | coprune_count | coprune_scan_blocks | coprune_prune_count | coprune_prune_space | con_extend_count
   | con_extend_time | single_extend_count
  -------------+-----------+------------+------------+-----------------+--------------+-------------------+-----------+-------------------+-------------+-----
  -------+--------------------+-------------+-------------+---------------+---------------------+---------------------+---------------------+-----------------
  -+-----------------+---------------------
      10082397 |  10082397 |   10082235 |         88 |              78 |        47021 |             47021 |       162 |                74 |      360996 |
  360996 |             270948 |        6711 |           0 |         45497 |              222619 |                   0 |                   0 |             3675
   |        25542884 |               26791
  (1 row)
  ```
  备注：请重点关注cache_succ此值较小说明系统缓存失效，prune_space 此值较小表示UStore数据页页面清理机制可能存在问题，con_extend_time此值过高可能表明UStore并发拓页时耗时较高。
  
  
- gs_redo_upage(directory_path text, backup_path text, blocknum bigint, relation_type text, xlog_path text, lsn text) 描述：用于将备份的特定UStore数据页面重放到指定LSN，并在重放期间校验页面，若检测到页面受损或页面记录受损则告警受损信息，并在重放后落盘页面，返回落盘路径、页面LSN以及受损信息，否则重放至指定LSN并落盘页面后返回，必须是系统管理员或运维管理员才能执行此函数。
  返回值类型：record
  
  | 参数类型 | 参数              | 类型     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|
  | 输入参数 | directory_path  | text   | 备份文件所在目录。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
  | 输入参数 | backup_path     | text   | 备份表文件的相对路径，与备份文件所在目录拼成表文件的完整路径，例如，base/15635/12488，当备份不存在时，传入null。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  | 输入参数 | blocknum        | bigint | 0\~MaxBlockNumber：对应页面的块号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  | 输入参数 | relation_type   | text   | - uheap（Ustore数据页）。  - ubtree（Ustore索引页）。  - indexurq（Urq页面）。  - undo_record（Undo record页面）。  - undo_slot（Transaction slot页面）。   |
  | 输入参数 | xlog_path       | text   | 归档日志目录的绝对路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | 输入参数 | lsn             | text   | lsn由两个16进制数(各32 bits)组成，中间通过"/"隔开，例如：2/962D1DF8。如果是0则重放到最新版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | 输出参数 | output_filename | text   | 文件的落盘路径与文件名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | 输出参数 | output_lsn      | text   | 最后一次页面重放的LSN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | 输出参数 | corruption_desc | text   | 页面受损情况描述。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     
  
- gs_xlogdump_bylastlsn(last_lsn text, blocknum bigint, relation_type text) 描述：传入一个页面LSN以及块号，解析LSN对应的WAL日志，并获取对应块号的last LSN继续解析，直到last LSN为0或者更老版本的WAL日志已被复用回收，并将解析后的日志落盘到指定路径，必须是系统管理员或运维管理员才能执行此函数。本系统函数不支持备机调用。
  返回值类型：text
  
  | 参数类型 | 参数名             | 类型     | 描述                                                                                                                                                                                                                 |
  |:---|:---|:---|:---|
  | 输入参数 | last_lsn        | text   | 解析指定页面的LSN，基于十六进制表示，如12BA/32CDEDDD，LSN可通过页面解析工具（gs_parse_page_bypath等）获取。                                                                                                                                          |
  | 输入参数 | blocknum        | bigint | 指定页面的逻辑块号。 参数范围：-1\~MaxBlockNumber。 块号指定为-1时表示从WAL日志中获取默认块号。 |
  | 输入参数 | relation_type   | text   | 指定解析页面的类型。 参数范围：uheap、ubtree、heap、btree、undo_record、undo_slot。                                                                          |
  | 输出参数 | output_filepath | text   | WAL日志解析结果的落盘路径。                                                                                                                                                                                                    |
     
  示例：
  ```
  # 获取页面LSN信息
  # 函数调用前请依据参数说明中的内容确保文件路径真实存在
  gaussdb=# select * from gs_parse_page_bypath('base/15833/16768', 0, 'uheap', false);
                          output_filepath
  ---------------------------------------------------------------
   /data1/database/cluster/primary/data/1663_15833_16768_0.page
  (1 row)
  gaussdb=# select * from gs_xlogdump_bylastlsn('0/4593570', -1, 'uheap');
                          output_filepath
  -------------------------------------------------------------------
   /data1/database/cluster/primary/data/pg_log/dump/4593570_-1.xlog
  (1 row)
  gaussdb=# select * from gs_xlogdump_bylastlsn('0/4593570', 0, 'ubtree');
  ERROR:  The input lsn 0/4593570 related xlog is not ubtree.
  ```
  
- dbe_perf.get_full_sql_by_parent_id_and_timestamp(parent_id bigint, start_timestamp timestamp with time zone, end_timestamp timestamp with time zone) 描述：根据parent_id获取某个时间段内，执行某个存储过程的数据库级的全量SQL及其子语句的记录。只可在系统库中查询到结果，用户库中无法查询。
  返回值类型：record
  
  | 参数              | 类型                       | 描述                              |
  |:---|:---|:---|
  | parent_id       | bigint                   | 指定需要检索的存储过程的调用语句的unique_sql_id。 |
  | start_timestamp | timestamp with time zone | SQL启动时间范围的开始时间点。                |
  | end_timestamp   | timestamp with time zone | SQL启动时间范围的结束时间点。                |
     
  示例：
  ```
  gaussdb=# CREATE TABLE test(a int,b int);
  NOTICE:  The 'DISTRIBUTE BY' clause is not specified. Using 'a' as the distribution column by default.
  HINT:  Please use 'DISTRIBUTE BY' clause to specify suitable data distribution column.
  CREATE TABLE
  gaussdb=# INSERT INTO test values(1,1);
  INSERT 0 1
  gaussdb=# CREATE PROCEDURE mypro1() as num int;
  gaussdb$# begin
  gaussdb$# INSERT INTO test values(2,2);
  gaussdb$# DELETE FROM test where a = 2;
  gaussdb$# end;
  gaussdb$# /
  CREATE PROCEDURE
  打开参数，跟踪存储过程子语句。
  gaussdb=# SET instr_unique_sql_track_type = 'all';
  SET
  打开参数，dbe_perf.statement_history表生成全量语句记录。
  gaussdb=# SET track_stmt_stat_level = 'L0,L0';
  SET
  gaussdb=# CALL mypro1();
   mypro1
  --------
  (1 row)
  gaussdb=# SET track_stmt_stat_level = 'off,L0';
  SET
  gaussdb=# SET instr_unique_sql_track_type = 'top';
  SET
  查询关键信息，作为函数参数使用。
  gaussdb=# SELECT query,unique_query_id,start_time,finish_time FROM dbe_perf.statement_history;
                  query                 | unique_query_id |          start_time           |          finish_time
  --------------------------------------+-----------------+-------------------------------+-------------------------------
   set track_stmt_stat_level = 'L0,L0'; |       636388010 | 2023-06-02 17:40:49.176155+08 | 2023-06-02 17:40:49.176543+08
   call mypro1();                       |       536458473 | 2023-06-02 17:40:59.028144+08 | 2023-06-02 17:40:59.032027+08
   delete from test where a = ?         |       583323884 | 2023-06-02 17:40:59.029955+08 | 2023-06-02 17:40:59.031577+08
   insert into test values(?,?)         |       769279931 | 2023-06-02 17:40:59.029219+08 | 2023-06-02 17:40:59.029947+08
  (4 rows)
  通过外层语句的unique_query_id，开始时间的起止时间作为参数，查询该时间段内，指定存储过程及其子语句的信息。
  gaussdb=# SELECT query FROM dbe_perf.get_full_sql_by_parent_id_and_timestamp(536458473,'2023-06-02 17:40:59.028144+08','2023-06-02 17:40:59.032027+08');
              query
  ------------------------------
   call mypro1();
   delete from test where a = ?
   insert into test values(?,?)
  (3 rows)
  删除表。
  gaussdb=# DROP TABLE test;
  DROP TABLE
  删除存储过程。
  gaussdb=#  DROP PROCEDURE mypro1;
  DROP PROCEDURE
  ```
  
- gs_index_dump_read(int8 reset, text out_type) 描述：用于查询索引获取新页面时在循环队列中产生的buffer read信息和索引页面相同key从左到右遍历叶子页面的buffer read信息。
  返回值类型：record
  
  | 参数类型 | 参数名         | 类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
  |:---|:---|:---|:---|
  | 输入参数 | reset       | int8 | - 0：将统计信息reset为初始值0，重新开始统计。  - 1：直接show出当前的统计信息。                                                                                                                                                                            |
  | 输入参数 | out_type    | text | - urq：输出循环队列的统计信息。  - ubtree：输出索引页的统计信息。  - all：循环队列和索引页的统计信息全部输出。   |
  | 输出参数 | relfilenode | oid  | 统计到的最大buffer read值对应的索引relfilenode。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | 输出参数 | max_count   | int8 | 最大buffer read值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | 输出参数 | ave_count   | int8 | 平均buffer read值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
     
  ![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - 该接口当前仅支持USTORE索引表。
  
  - 该接口执行时，先reset清理、将记录全部置为0。再进行查询，直到下次统计到信息值之前，查询记录会一直为0。查询示例如下：
    ```
    gaussdb=# SELECT * FROM gs_index_dump_read(0, 'all');
    relfilenode | max_count | ave_count
    --------------+-------------+-------------
    |                     |
    (1 row)
    gaussdb=# SELECT * FROM gs_index_dump_read(1, 'all');
    relfilenode | max_count | ave_count
    --------------+-------------+-------------
    0 |                  0 |                  0
    0 |                  0 |                  0
    (2 rows)
    ```
    
    
 
