华为云用户手册

  • DBE_PLDEBUGGER.disable_breakpoint debug端调试过程中,调用disable_breakpoint禁用已被激活的断点,如表1所示。 表1 disable_breakpoint入参和返回值列表 名称 类型 描述 breakpointno IN integer 断点编号。 result OUT bool 是否成功。 父主题: DBE_PLDEBUGGER Schema
  • GLOBAL_REPLICATION_SLOTS GLOBAL_REPLICATION_SLOTS视图用于查看数据库各节点的复制槽的信息,如表1所示。 表1 GLOBAL_REPLICATION_SLOTS字段 名称 类型 描述 node_name name 节点名称。 slot_name text 复制槽的名称。 plugin text 逻辑复制槽对应的输出插件名称。 slot_type text 复制槽的类型。 physical:物理复制槽。 logical:逻辑复制槽。 datoid oid 复制槽所在的数据库OID。 database name 复制槽所在的数据库名称。 active boolean 复制槽是否为激活状态。 t(true):表示是。 f(false):表示不是。 x_min xid 数据库需要为复制槽保留的最早事务的事务号。 catalog_xmin xid 数据库需要为逻辑复制槽保留的最早的涉及系统表的事务的事务号。 restart_lsn text 复制槽需要的最早xlog的物理位置。 dummy_standby boolean 预留参数。 复制槽的连接对端是否为从备。 t(true):表示是。 f(false):表示不是。 父主题: Utility
  • 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); 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 PROCEDURE mypro1(); DROP PROCEDURE gaussdb=# DROP TABLE test; DROP TABLE
  • 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/gs_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.
  • gs_shared_storage_flush_stat(int operation) 描述:统计共享盘的写入数据量、写入速度、写入时间、读取数据量、读取速度、读取时间等。多租场景下,non-PDB调用该函数时正常运行,PDB调用该函数时报错。 返回值类型:record 参数类型 参数名 类型 描述 输入参数 operation int -1:关闭统计开关。 0:打开统计开关(默认状态为打开)。 1:查询统计信息。 2:重置统计信息。 关闭统计开关后重新打开时会清理之前的统计信息。 输出参数 stat_switch bool 统计开关是否打开。 输出参数 write_times uint64 shared_storage_xlog_copy线程调用dorado_write_xlog接口的次数。 输出参数 avg_write_bytes uint32 每次调用dorado_write_xlog接口请求写的Xlog量(单位:B)。 输出参数 avg_actual_write_bytes uint32 实际每次调用dorado_write_xlog接口写的Xlog量(单位:B)。 输出参数 total_write_time uint64 调用dorado_write_xlog操作总时间统计(单位:us)。 输出参数 avg_write_time uint32 每次调用dorado_write_xlog接口平均时间(单位:us)。 输出参数 avg_write_speed uint32 平均调用dorado_write_xlog接口请求写Xlog的速度(单位:KB/s)。 输出参数 avg_actual_write_speed uint32 实际平均调用dorado_write_xlog接口请求写Xlog的速度(单位:KB/s)。 输出参数 total_write_sleep_time uint64 shared_storage_xlog_copy线程总睡眠时间。 输出参数 read_times uint64 walreceiver线程调用dorado_read_xlog接口的次数。 输出参数 avg_read_bytes uint32 每次调用dorado_read_xlog接口请求写的Xlog量(单位:B)。 输出参数 avg_actual_read_bytes uint32 实际每次调用dorado_read_xlog接口写的Xlog量(单位:B)。 输出参数 total_read_time uint64 调用dorado_read_xlog操作总时间统计(单位:us)。 输出参数 avg_read_time uint32 每次调用dorado_read_xlog接口平均时间(单位:us)。 输出参数 avg_read_speed uint32 平均调用dorado_read_xlog接口请求写Xlog的速度(单位:KB/s)。 输出参数 avg_actual_read_speed uint32 实际平均调用dorado_read_xlog接口请求写Xlog的速度(单位:KB/s)。 输出参数 total_read_sleep_time uint64 walreceiver线程总睡眠时间。 输出参数 stat_start_time timestamptz 本次统计数据开始时间,若无重置统计信息操作则为 GaussDB 程序开始运行时间,若有重置统计信息操作则为上次重置时间。 输出参数 stat_end_time timestamptz 本次统计数据结束时间,若统计开关开启则为当前时间,若统计开关关闭则为上次关闭时间。 示例: gaussdb=# SELECT * FROM gs_shared_storage_flush_stat(1); stat_switch | write_times | avg_write_bytes | avg_actual_write_bytes | total_write_time | avg_write_time | avg_write_speed | avg_actual_write_speed | total_write_sleep_time | read_times | avg _read_bytes | avg_actual_read_bytes | total_read_time | avg_read_time | avg_read_speed | avg_actual_read_speed | total_read_sleep_time | stat_start_time | stat_end_time -------------+-------------+-----------------+------------------------+------------------+----------------+-----------------+------------------------+------------------------+------------+---- ------------+-----------------------+-----------------+---------------+----------------+-----------------------+-----------------------+-------------------------------+------------------------ ------- t | 43644 | 8624 | 8624 | 263922553 | 6047 | 1392 | 1392 | 26918503404 | 7451 | 140 13 | 14013 | 5321082 | 714 | 19163 | 19163 | 0 | 2023-12-18 07:18:39.766855+08 | 2023-12-18 16:29:22.757 535+08 (1 row)
  • gs_redo_upage(directory_path text, backup_path text, blocknum bigint, relation_type text, xlog_path text, lsn text) 描述:用于将备份的特定UStore数据页面重放到指定LSN,并在重放期间校验页面,若检测到页面受损则直接落盘该坏块,返回落盘路径、页面LSN以及受损信息,否则重放至指定LSN并落盘页面后返回,必须是系统管理员或运维管理员才能执行此函数。多租场景下,该函数在PDB内部禁用。 返回值类型: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_index_dump_read(int8 reset, text out_type) 描述:用于查询索引获取新页面时在循环队列中产生的buffer read信息和索引页面相同key从左到右遍历叶子页面的buffer read信息。多租场景下,PDB内禁用。 返回值类型: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值。 该接口当前仅支持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)
  • 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_sencond | nblk_sencond_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并发拓页时耗时较高。
  • 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_stat_vlog_buffer() 描述:返回verifyLog buffer的相关统计信息。 参数:nan 返回值类型:record 参数类型 参数名 类型 描述 输出参数 vbuffer_write_offset int8 vlog写入位置。 输出参数 vbuffer_flushed_offset int8 vlog刷盘位置。 输出参数 max_vbuffer_flushed_value int8 vlog下刷最大字节数。 输出参数 min_vbuffer_flushed_vlaue int8 vlog下刷最小字节数。 输出参数 ave_vbuffer_flushed_vlaue int8 vlog下刷平均字节数。 输出参数 vbuffer_flush_latency int8 vlog下刷时延统计。
  • gs_stat_vlog_related_io() 描述:返回verifylog文件读写的io相关统计信息。 参数:nan 返回值类型:record 参数类型 参数名 类型 描述 输出参数 read_data_iops float8 每秒读文件的页面数。 输出参数 vlog_read_iops float8 每秒读vlog的页面数。 输出参数 vlog_write_iops float8 每秒写vlog的页面数。
  • gs_stat_anti_cache() 描述:返回AntiCache的相关统计信息。 参数:nan 返回值类型:record 参数类型 参数名 类型 描述 输出参数 table_nums int8 分区数量。 输出参数 table_init_size int8 分区初始大小。 输出参数 table_max_size int8 分区大小上限。 输出参数 anti_cache_upper_limit_size int8 AntiCache大小上限。 输出参数 anti_cache_size int8 实时AntiCache大小。 输出参数 anti_cache_max_table_size int8 实时最大分区大小。 输出参数 anti_cache_min_table_size int8 实时最小分区大小。
  • pg_ls_tmpdir() 描述:返回默认表空间下临时目录(pgsql_tmp)中每个文件的名称、大小和最后修改时间。 参数:nan 返回值类型:record 备注:必须是系统管理员或者监控管理员才能执行此函数。 参数类型 参数名 类型 描述 输出参数 name text 文件名称。 输出参数 size int8 文件大小(单位:byte)。 输出参数 modification timestamptz 文件最后修改时间。
  • gs_walwriter_flush_position() 描述:输出预写日志的刷新位置。 返回值类型:record 表20 gs_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 表21 gs_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 当前时间。
  • gs_index_verify(oid oid, uint32 blkno) 描述:用于校验UBtree索引页面或者索引树上key的顺序是否正确。 返回值类型:record 表17 gs_index_verify参数说明 参数 类型 描述 oid oid 索引文件relfilenode,可以通过select relfilenode from pg_class where relname='name'查询,其中name表示对应的索引文件名字。 blkno uint32 0:表示检验整个索引树上所有页面。 大于0:表示校验页面编码等于blkno的索引页面。
  • gs_stat_wal_entrytable(int64 idx) 描述:用于输出Xlog中预写日志插入状态表的内容。 返回值类型:record 表19 gs_stat_wal_entrytable参数说明 参数类型 参数名 类型 描述 输入参数 idx int64 -1:查询数组所有元素。 0-最大值:具体某个数组元素内容。 输出参数 idx uint64 记录对应数组中的下标。 输出参数 endlsn uint64 记录的LSN标签。标识当前entry对应的Xlog是否已经完全复制到wal buffer中: 0:非COPIED。 非0:COPIED。 输出参数 lrc int32 记录对应的LRC。 输出参数 status uint32 当前版本已废弃,查询显示为0。
  • gs_shared_storage_xlogdump_lsn(start_lsn text, end_lsn text, xlog_file_path text) 描述:用于解析指定共享盘的指定lsn范围之内的Xlog日志,并返回存放解析内容的路径。可以通过pg_current_xlog_location()获取当前Xlog位置。 返回值类型:text 备注:必须是系统管理员或运维管理员才能执行此函数。 表15 gs_shared_storage_xlogdump_lsn参数说明 参数 类型 描述 start_lsn text 需要解析的Xlog的起始lsn。 end_lsn text 需要解析的Xlog的结束lsn。 xlog_file_path text 可选参数。需要解析的Xlog所在共享卷的路径。不指定时,解析当前DN所有共享盘的Xlog。
  • gs_xlogdump_parsepage_tablepath(path text, blocknum bigint, relation_type text,read_memory boolean) 描述:用于解析指定表页面和表页面对应的日志,并返回存放解析内容的路径。可以看做一次执行gs_parse_page_bypath和gs_xlogdump_tablepath。该函数执行的前置条件是表文件存在。如果想查看已删除的表的相关日志,请直接调用gs_xlogdump_tablepath。多租场景下,该函数在PDB内部禁用。 返回值类型:text 备注:必须是系统管理员或运维管理员才能执行此函数。 表14 gs_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 表)。 uheap(ustore 表)。 btree(BTree 索引)。 ubtree(UBTree 索引)。 indexurq(indexurq 页面)。 read_memory boolean false:从磁盘文件解析。 true:首先尝试从共享缓冲区中解析该页面;如果共享缓冲区中不存在,则从磁盘文件解析。
  • gs_shared_storage_ctlinfo() 描述:用于获取当前DN共享卷元数据相关信息。 返回值类型:record 表16 gs_shared_storage_ctlinfo参数说明 参数类型 参数名 类型 描述 输出参数 xlog_file_path text 共享卷的路径。 输出参数 system_id text 当前共享卷上存储的system_id值。 输出参数 term text 当前共享卷上存储的term值。 输出参数 xlog_file_size text 共享卷上存Xlog的空间大小。 输出参数 insert_tail text 共享卷上当前有效的最小lsn。 输出参数 insert_head text 共享卷上当前有效的最大lsn。 输出参数 shared_storage_flush_lsn text 共享卷上当前实际落盘lsn。
  • gs_index_recycle_queue(Oid oid, int type, uint32 blkno) 描述:用于解析UBtree索引回收队列信息。 返回值类型:record 表18 gs_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。
  • statement_detail_decode(detail text, format text, pretty boolean) 描述:解析全量/慢SQL语句中的detail字段的信息。只可在系统库中查询到结果,用户库中无法查询。 返回值类型:text 表9 statement_detail_decode参数说明 参数 类型 描述 detail text SQL语句产生的事件的集合(不可读)。 format text 解析输出格式,取值为 plaintext。 pretty boolean 当format为plaintext时,是否以优雅的格式展示: true表示通过“\n”分隔事件。 false表示通过“,”分隔事件。
  • get_global_user_transaction() 描述:返回所有节点上各用户的事务相关信息。多租场景下,non-PDB调用该函数时返回全部信息,PDB调用该函数时仅返回该PDB相关信息。 返回值类型: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、dbid oid
  • gs_xlogdump_tablepath(path text, blocknum bigint, relation_type text) 描述:用于解析指定表页面对应的日志,并返回存放解析内容的路径。多租场景下,该函数在PDB内部禁用。 返回值类型:text 备注:必须是系统管理员或运维管理员才能执行此函数。 表13 gs_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 表) uheap(ustore 表) btree(BTree 索引) ubtree(UBTree 索引) segment(段页式)
  • pg_get_variable_info() 描述:获取共享内存变量cache。 参数:nan 返回值类型:node_name text、nextOid oid、nextXid xid、oldestXid xid、xidVacLimit xid, oldestXidDB oid、lastExtend CS NLogpage xid、startExtendCSNLogpage xid、nextCommitSeqNo xid、latestCompletedXid xid、startupMaxXid xid
  • gs_parse_page_bypath(path text, blocknum bigint, relation_type text, read_memory boolean) 描述:用于解析指定表页面,并返回存放解析内容的路径。 返回值类型:text 备注:必须是系统管理员或运维管理员才能执行此函数。 表12 gs_parse_page_bypath参数说明 参数 类型 描述 path text 对于普通表或段页式表,相对路径为:tablespace name/database oid/表的relfilenode(物理文件名)。例如:base/16603/16394。 对于普通表的visibility map,相对路径为:tablespace name/database oid/表的vm文件。例如:base/16603/16394_vm。 对于普通表的fsm文件,相对路径为:tablespace name/database oid/表的relfilenode(物理文件名)。例如:base/16603/16394。 对于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索引,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 索引)。 vm(astore普通表的visibility map)。 fsm(行存表的freespace map文件)。 clog(事务状态日志commit log)。 csnlog(快照时间戳日志commit sequence number log)。 undo_slot(事务槽信息)。 undo_record(undo 记录信息)。 indexurq(indexurq页面)。 gsivfflat_index(gsivfflat向量索引) gsdiskann_index(gsdiskann向量索引) read_memory boolean false:从磁盘文件解析。 true:首先尝试从共享缓冲区中解析该页面;如果共享缓冲区中不存在,则从磁盘文件解析。 正常使用示例: # 解析BTree索引文件中所有页面的信息内容 # 函数调用前请依据参数说明中的内容确保文件路径真实存在 gaussdb=# SELECT gs_parse_page_bypath('base/16603/16394', -1, 'btree', false); gs_parse_page_bypath -------------------------------------------------------------------- gs_log_dir/dump/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 ----------------------------------------------------------------------- gs_log_dir/dump/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 -------------------------------------------------------------------- gs_log_dir/dump/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
  • pg_get_running_xacts() 描述:获取运行中的xact。多租场景下,non-PDB调用该函数时返回全部信息,PDB调用该函数时仅返回该PDB相关信息。 参数:nan 返回值类型:handle integer、gxid xid、state tinyint、node text、xmin xid、vacuum boolean、timeline bigint、prepare_xid xid、pid bigint、next_xid xid、dbid oid
  • copy_error_log_create() 描述:由于COPY FROM容错机制所需要的错误表已变更为在初始化阶段创建的系统表,因此当前函数改为始终返回true,仅做兼容。 返回值类型:Boolean 表10 错误表pg_catalog.pgxc_copy_error_log信息 列名称 类型 描述 relname character varying 表名称。以模式名.表名形式显示。 begintime timestamp with time zone 出现数据格式错误的时间。 filename character varying 出现数据格式错误的数据源文件名。 lineno bigint 在数据源文件中,出现数据格式错误的行号。 rawrecord text 在数据源文件中,出现数据格式错误的原始记录。 detail text 详细错误信息。
  • dynamic_func_control(scope text, function_name text, action text, "{params}" text[]) 描述:动态开启内置的功能,当前仅支持动态开启全量SQL。 返回值类型:record 表11 dynamic_func_control参数说明 参数 类型 描述 scope text 动态开启功能的范围,当前仅支持'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 - '{}'
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全