华为云用户手册

  • DBE_PLDEBUGGER.turn_off 用于去掉turn_on添加的调试标记,返回值表示成功或失败。可通过DBE_PLDEBUGGER.local_debug_server_info查找已经turn_on的存储过程oid。 函数原型为: 1 2 DBE_PLDEBUGGER.turn_off(Oid) RETURN boolean; 表1 turn_off 入参和返回值列表 名称 类型 描述 func_oid IN oid 函数oid turn_off OUT boolean turn off是否成功 父主题: DBE_PLDEBUGGER Schema
  • DBE_PLDEBUGGER.turn_on 该函数用于标记某一存储过程为可调试,执行turn_on后server端可以执行该存储过程来进行调试。需要用户根据系统表PG_PROC手动获取存储过程oid,传入函数中。turn_on后本session内执行该存储过程会停在第一条sql前等待debug端的调试操作。该设置会在session断连后默认被清理掉。目前不支持对启用自治事务的存储过程/函数进行调试。 函数原型为: 1 2 DBE_PLDEBUGGER.turn_on(Oid) RETURN Record; 表1 turn_on 入参和返回值列表 名称 类型 描述 func_oid IN oid 函数oid nodename OUT text 节点名称 port OUT integer 连接端口号 父主题: DBE_PLDEBUGGER Schema
  • DBE_PLDEBUGGER Schema DBE_PLDEBUGGER Schema下的系统函数用于调试存储过程,目前支持的接口及其描述如下所示。仅管理员有权限执行这些调试接口,但无权限在该schema上修改和创建新函数。普通用户只能调试在public schema或用户创建schema下的非系统函数,禁止普通用户调试系统函数。 当在函数体中创建用户时,调用attach、next、continue、 info_code、step、info_breakpoint、backtrace、 finish中会返回密码的明文。因此不建议用户在函数体中创建用户。 对应权限角色为gs_role_pldebugger,可以由管理员用户通过如下命令将debugger权限赋权给该用户。 GRANT gs_role_pldebugger to user; 需要有两个客户端连接数据库,一个客户端负责执行调试接口作为debug端,另一个客户端执行调试函数,控制server端存储过程执行。示例如下。 准备调试 通过PG_PROC,查找到待调试存储过程的oid,并执行DBE_PLDEBUGGER.turn_on(oid)。本客户端就会作为server端使用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 gaussdb=# CREATE OR REPLACE PROCEDURE test_debug ( IN x INT) AS BEGIN INSERT INTO t1 (a) VALUES (x); DELETE FROM t1 WHERE a = x; END; / CREATE PROCEDURE gaussdb=# SELECT OID FROM PG_PROC WHERE PRONAME='test_debug'; oid ------- 16389 (1 row) gaussdb=# SELECT * FROM DBE_PLDEBUGGER.turn_on(16389); nodename | port ----------+------ datanode | 0 (1 row) 开始调试 server端执行存储过程,会在存储过程内第一条SQL语句前hang住,等待debug端发送的调试消息。仅支持直接执行存储过程的调试,不支持通过trigger调用执行的存储过程调试。 1 gaussdb=# call test_debug(1); 再起一个客户端,作为debug端,通过turn_on返回的数据,调用DBE_PLDEBUGGER.attach关联到该存储过程上进行调试。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.attach('datanode',0); funcoid | funcname | lineno | query ---------+------------+--------+---------------------------------- 16389 | test_debug | 3 | INSERT INTO t1 (a) VALUES (x); (1 row) 在执行attach的客户端调试,执行下一条statement。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.next(); funcoid | funcname | lineno | query ---------+------------+--------+---------------------- 16389 | test_debug | 0 | [EXECUTION FINISHED] (1 row) 在执行attach的客户端调试,可以执行以下变量操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.info_locals(); --打印全部变量 varname | vartype | value | package_name | isconst ---------+---------+-------+--------------+--------- x | int4 | 1 | | f (1 row) gaussdb=# SELECT * FROM DBE_PLDEBUGGER.set_var('x', 2); --变量赋值 set_var --------- t (1 row) gaussdb=# SELECT * FROM DBE_PLDEBUGGER.print_var('x'); --打印单个变量 varname | vartype | value | package_name | isconst ---------+---------+-------+--------------+--------- x | int4 | 2 | | f (1 row) 直接执行完成当前正在调试的存储过程。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.continue(); funcoid | funcname | lineno | query ---------+------------+--------+---------------------- 16389 | test_debug | 0 | [EXECUTION FINISHED] (1 row) 直接退出当前正在调试的存储过程,不执行尚未执行的语句。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.abort(); abort ------- t (1 row) client端查看代码信息并识别可以设置断点行号。 1 2 3 4 5 6 7 8 9 10 11 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.info_code(16389); lineno | query | canbreak --------+-----------------------------------------------------------+---------- | CREATE OR REPLACE PROCEDURE public.test_debug( IN x INT) | f 1 | AS DECLARE | f 2 | BEGIN | f 3 | INSERT INTO t1 (a) VALUES (x); | t 4 | DELETE FROM t1 WHERE a = x; | t 5 | END; | f 6 | / | f (7 rows) 设置断点。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.add_breakpoint(16389,4); breakpointno -------------- 0 (1 row) 查看断点信息。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.info_breakpoints(); breakpointno | funcoid | lineno | query | enable --------------+---------+--------+---------------------------------+-------- 0 | 16389 | 4 | DELETE FROM t1 WHERE a = x; | t (1 row) 执行至断点。 1 2 3 4 5 gaussdb=# SELECT * FROM DBE_PLDEBUGGER.continue(); funcoid | funcname | lineno | query ---------+------------+--------+--------------------------------- 16389 | test_debug | 4 | DELETE FROM t1 WHERE a = x; (1 row) 存储过程执行结束后,调试会自动退出,再进行调试需要重新attach关联。如果server端不需要继续调试,可执行turn_off关闭,或退出session。具体调试接口请见下面列表。 表1 DBE_PLDEBUGGER 接口名称 描述 DBE_PLDEBUGGER.turn_on server端调用,标记存储过程可以调试,调用后执行该存储过程时会hang住等待调试信息。 DBE_PLDEBUGGER.turn_off server端调用,标记存储过程关闭调试。 DBE_PLDEBUGGER.local_debug_server_info server端调用,打印本session内所有已turn_on的存储过程。 DBE_PLDEBUGGER.attach debug端调用,关联到正在调试存储过程。 DBE_PLDEBUGGER.info_locals debug端调用,打印正在调试的存储过程中的变量当前值。 DBE_PLDEBUGGER.next debug端调用,单步执行。 DBE_PLDEBUGGER.continue debug端调用,继续执行,直到断点或存储过程结束。 DBE_PLDEBUGGER.abort debug端调用,停止调试,server端报错长跳转。 DBE_PLDEBUGGER.print_var debug端调用,打印正在调试的存储过程中指定的变量当前值。 DBE_PLDEBUGGER.info_code debug和server端都可以调用,打印指定存储过程的源语句和各行对应的行号。 DBE_PLDEBUGGER.step debug端调用,单步进入执行。 DBE_PLDEBUGGER.add_breakpoint debug端调用,新增断点。 DBE_PLDEBUGGER.delete_breakpoint debug端调用,删除断点。 DBE_PLDEBUGGER.info_breakpoints debug端调用,查看当前的所有断点。 DBE_PLDEBUGGER.backtrace debug端调用,查看当前的调用栈。 DBE_PLDEBUGGER.enable_breakpoint debug端调用,激活被禁用的断点。 DBE_PLDEBUGGER.disable_breakpoint debug端调用,禁用已激活的断点。 DBE_PLDEBUGGER.finish debug端调用,继续调试,直到断点或返回上一层调用栈。 DBE_PLDEBUGGER.set_var debug端调用,为变量进行赋值操作。 DBE_PLDEBUGGER.turn_on DBE_PLDEBUGGER.turn_off DBE_PLDEBUGGER.local_debug_server_info DBE_PLDEBUGGER.attach DBE_PLDEBUGGER.info_locals DBE_PLDEBUGGER.next DBE_PLDEBUGGER.continue DBE_PLDEBUGGER.abort DBE_PLDEBUGGER.print_var DBE_PLDEBUGGER.info_code DBE_PLDEBUGGER.step DBE_PLDEBUGGER.add_breakpoint DBE_PLDEBUGGER.delete_breakpoint DBE_PLDEBUGGER.info_breakpoints DBE_PLDEBUGGER.backtrace DBE_PLDEBUGGER.enable_breakpoint DBE_PLDEBUGGER.disable_breakpoint DBE_PLDEBUGGER.finish DBE_PLDEBUGGER.set_var 父主题: Schema
  • SQL Detail SQL Detail列名称及描述如下表所示。 表1 SQL Detail报表主要内容 列名称 描述 Unique SQL Id 归一化SQL ID。 Parent Unique SQL Id 父语句的归一化SQL ID,单独执行的语句该值为0。 User Name 用户名称。 Node Name 节点名称。Node模式下不显示该字段。 SQL Text 归一化SQL文本。 父主题: WDR报告信息介绍
  • Configuration settings Configuration settings列名称及描述如下表所示。 表1 Configuration settings报表主要内容 列名称 描述 Name GUC名称。 Abstract GUC描述。 Type 数据类型。 Current Value 当前值。 Min Value 合法最小值。 Max Value 合法最大值。 Category GUC类别。 Enum Values 如果是枚举值,列举所有枚举值。 Default Value 数据库启动时参数默认值。 Reset Value 数据库重置时参数默认值。 父主题: WDR报告信息介绍
  • User index stats 表2 User index stats报表主要内容 列名称 描述 Node Name 节点名称。 DB Name Database名称。 Schema Schema名称。 Relname Relation名称。 Index Relname Index名称。 Index Scan 索引上开始的索引扫描数。 Index Tuple Read 通过索引上扫描返回的索引项数。 Index Tuple Fetch 通过使用索引的简单索引扫描抓取的表行数。
  • User Tables stats 表1 User Tables stats报表主要内容 列名称 描述 Node Name 节点名称。 DB Name Database名称。 Schema Schema名称。 Relname Relation名称。 Seq Scan 此表发起的顺序扫描数。 Seq Tup Read 顺序扫描抓取的活跃行数。 Index Scan 此表发起的索引扫描数。 Index Tup Fetch 索引扫描抓取的活跃行数。 Tuple Insert 插入行数。 Tuple Update 更新行数。 Tuple Delete 删除行数。 Tuple Hot Update HOT更新行数(即没有更新所需的单独索引)。 Live Tuple 估计活跃行数。 Dead Tuple 估计死行数。 Last Vacuum 最后一次此表是手动清理的(不计算VACUUM FULL)时间。 Last Autovacuum 上次被autovacuum守护进程清理的时间。 Last Analyze 上次手动分析这个表的时间。 Last Autoanalyze 上次被autovacuum守护进程分析的时间。 Vacuum Count 这个表被手动清理的次数(不计算VACUUM FULL)。 Autovacuum Count 这个表被autovacuum清理的次数。 Analyze Count 这个表被手动分析的次数。 Autoanalyze Count 这个表被autovacuum守护进程分析的次数。
  • Replication stat 表2 Replication stat报表主要内容 列名称 描述 Thread Id 线程的PID。 Usesys Id 用户系统ID。 Usename 用户名称。 Application Name 应用程序。 Client Addr 客户端地址。 Client Hostname 客户端主机名。 Client Port 客户端端口。 Backend Start 程序起始时间。 State 日志复制状态。 Sender Sent Location 发送端发送日志位置。 Receiver Write Location 接收端write日志位置。 Receiver Flush Location 接收端flush日志位置。 Receiver Replay Location 接收端replay日志位置。 Sync Priority 同步优先级。 Sync State 同步状态。
  • User index IO activity 表2 User index IO activity 表格字段 列名称 描述 Node Name 节点名称。 DB Name Database名称。 Schema Name Schema名称。 Table Name Table名称。 Index Name Index名称。 %Idx Blks Hit Ratio Index的命中率。 Idx Blks Read 所有索引读取的磁盘块数。 Idx Blks Hit 所有索引命中缓存数。
  • User table IO activity 表1 User table IO activity表格字段 列名称 描述 Node Name 节点名称。 DB Name Database名称。 Schema Name Schema名称。 Table Name Table名称。 %Heap Blks Hit Ratio 此表的Buffer Pool命中率。 Heap Blks Read 该表中读取的磁盘块数。 Heap Blks Hit 此表缓存命中数。 Idx Blks Read 表中所有索引读取的磁盘块数。 Idx Blks Hit 表中所有索引命中缓存数。 Toast Blks Read 此表的TOAST表读取的磁盘块数(如果存在)。 Toast Blks Hit 此表的TOAST表命中缓冲区数(如果存在)。 Tidx Blks Read 此表的TOAST表索引读取的磁盘块数(如果存在)。 Tidx Blks Hit 此表的TOAST表索引命中缓冲区数(如果存在)。
  • Wait Events Wait Events列名称及描述如下表所示。 表1 Wait Events报表主要内容 列名称 描述 Type Wait Event类别名称: STATUS。 LWLOCK_EVENT。 LOCK_EVENT。 IO_EVENT。 Event Wait Event名称。 Total Wait Time (us) 总Wait时间(us)。 Waits 总Wait次数。 Failed Waits Wait失败次数。 Avg Wait Time (us) 平均Wait时间(us)。 Max Wait Time (us) 最大Wait时间(us)。 父主题: WDR报告信息介绍
  • SQL Statistics SQL Statistics列名称及描述如下表所示。 表1 SQL Statistics报表主要内容 列名称 描述 Unique SQL Id 归一化的SQL ID。 Parent Unique SQL Id 父语句的归一化SQL ID,对于非存储过程子语句的场景,该值为0。 Node Name 节点名称。 User Name 用户名称。 Avg Tuples Fetched 平均随机扫描行。 Avg Tuples Returned 平均顺序扫描行。 Calls 调用次数。 Total Elapse Time(us) 总执行时间(us)。 Avg Elapse Time(us) 平均执行时间(us)。 Returned Rows SELECT返回行数。 Avg Returned Rows 平均SELECT返回行数。 Tuples Affected Insert/Update/Delete行数。 Avg Tuples Affected 平均Insert/Update/Delete行数。 Logical Read Buffer逻辑读次数。 Avg Logical Read 平均Buffer逻辑读次数。 Physical Read Buffer物理读次数。 Avg Physical Read 平均Buffer物理读次数。 CPU Time(us) CPU时间(us)。 Avg CPU Time(us) 平均CPU时间(us)。 Data IO Time(us) IO上的时间花费(us)。 Avg Data IO Time(us) 平均IO上的时间花费(us)。 Sort Count 排序执行的次数。 Sort Time(us) 排序执行的时间(us)。 Sort Mem Used(KB) 排序过程中使用的work memory大小(KB)。 Sort Spill Count 排序过程中,若发生落盘,写文件的次数。 Sort Spill Size(KB) 排序过程中,若发生落盘,使用的文件大小(KB)。 Hash Count hash执行的次数。 Hash Time(us) hash执行的时间(us)。 Hash Mem Used(KB) hash过程中使用的work memory大小(KB)。 Hash Spill Count hash过程中,若发生落盘,写文件的次数。 Hash Spill Size(KB) hash过程中,若发生落盘,使用的文件大小(KB)。 SQL Text 归一化SQL字符串。 父主题: WDR报告信息介绍
  • Time Model Time Model名称及描述如下表所示。 表1 Time Model报表主要内容 名称 描述 DB_TIME 所有线程端到端的墙上时间(WALL TIME)消耗总和(单位:微秒)。 EXECUTION_TIME 消耗在执行器上的时间总和(单位:微秒)。 PL_EXECUTION_TIME 消耗在plpgsql执行上的时间总和(单位:微秒)。 CPU_TIME 所有线程CPU时间消耗总和(单位:微秒)。 PLAN_TIME 消耗在执行计划生成上的时间总和(单位:微秒)。 REWRITE_TIME 消耗在查询重写上的时间总和(单位:微秒)。 PL_COMPILATION_TIME 消耗在SQL编译上的时间总和(单位:微秒)。 PARSE_TIME 消耗在SQL解析上的时间总和(单位:微秒)。 NET_SEND_TIME 消耗在网络发送上的时间总和(单位:微秒)。 DATA_IO_TIME 消耗在数据读写上的时间总和(单位:微秒)。 父主题: WDR报告信息介绍
  • Memory Statistics Memory Statistics指标名称及描述如下表所示。 表1 Memory Statistics报表主要内容 指标名称 描述 shared_used_memory 已经使用共享内存大小(MB)。 max_shared_memory 最大共享内存(MB)。 process_used_memory 进程已经使用内存(MB)。 max_process_memory 最大进程内存(MB)。 父主题: WDR报告信息介绍
  • IO Profile IO Profile指标名称及描述如下表所示。 表1 IO Profile指标表主要内容 指标名称 描述 Database requests Database I/O次数。 Database (MB) Database I/O数据量。 Database (blocks) Database I/O数据块。 Redo requests Redo I/O次数。 Redo (MB) Redo I/O量。 父主题: WDR报告信息介绍
  • Host CPU Host CPU列名称及描述如下表所示。 表1 Host CPU报表主要内容 列名称 描述 Cpus CPU数量。 Cores CPU核数。 Sockets CPU Sockets数量。 Load Average Begin 开始Snapshot的Load Average值。 Load Average End 结束Snapshot的Load Average值。 %User 用户态在CPU时间上的占比。 %System 内核态在CPU时间上的占比。 %WIO Wait IO在CPU时间上的占比。 %Idle 空闲时间在CPU时间上的占比。 父主题: WDR报告信息介绍
  • Wait Classes by Total Wait Time Wait Classes by Total Wait Time列名称及描述如下表所示。 表1 Wait Classes by Total Wait Time报表主要内容 列名称 描述 Type Wait Event类别名称: STATUS。 LWLOCK_EVENT。 LOCK_EVENT。 IO_EVENT。 Waits Wait次数。 Total Wait Time(us) 总Wait时间(微秒)。 Avg Wait Time(us) 平均Wait时间(微秒)。 父主题: WDR报告信息介绍
  • Top 10 Events by Total Wait Time Top 10 Events by Total Wait Time列名称及描述如下表所示。 表1 Top 10 Events by Total Wait Time报表主要内容 列名称 描述 Event Wait Event名称。 Waits wait次数。 Total Wait Time(us) 总wait时间(微秒)。 Avg Wait Time(us) 平均wait时间(微秒)。 Type Wait Event类别。 父主题: WDR报告信息介绍
  • Instance Efficiency Percentages Instance Efficiency Percentages指标名称及描述如下表所示。 表1 Instance Efficiency Percentages报表主要内容 指标名称 描述 Buffer Hit % Buffer Pool命中率。 Effective CPU % CPU time占DB time的比例。 WalWrite NoWait % 访问WAL Buffer的event次数占总wait event的比例。 Soft Parse % 软解析的次数占总的解析次数的比例。 Non-Parse CPU % 非parse的时间占执行总时间的比例。 父主题: WDR报告信息介绍
  • Load Profile Load Profile指标名称及描述如下表所示。 表1 Load Profile报表主要内容 指标名称 描述 DB Time(us) 作业运行的elapse time总和。 CPU Time(us) 作业运行的CPU时间总和。 Redo size(blocks) 产生的WAL的大小(块数)。 Logical read (blocks) 表或者索引文件的逻辑读(块数)。 Physical read (blocks) 表或者索引的物理读(块数)。 Physical write (blocks) 表或者索引的物理写(块数)。 Read IO requests 表或者索引的读次数。 Write IO requests 表或者索引的写次数。 Read IO (MB) 表或者索引的读大小(MB)。 Write IO (MB) 表或者索引的写大小(MB)。 Logins 登录次数。 Executes (SQL) SQL执行次数。 Rollbacks 回滚事务数。 Transactions 事务数。 SQL response time P95(us) 95%的SQL的响应时间。 SQL response time P80(us) 80%的SQL的响应时间。 父主题: WDR报告信息介绍
  • Database Stat Database Stat列名称及描述如下表所示。 表1 Database Stat报表主要内容 列名称 描述 Node Name 节点名称。 DB Name 数据库名称。 Backends 连接到该数据库的后端数。 Xact Commit 此数据库中已经提交的事务数。 Xact Rollback 此数据库中已经回滚的事务数。 Blks Read 在这个数据库中读取的磁盘块的数量。 Blks Hit 高速缓存中已经发现的磁盘块的次数。 Tuple Returned 顺序扫描的行数。 Tuple Fetched 随机扫描的行数。 Tuple Inserted 通过数据库查询插入的行数。 Tuple Updated 通过数据库查询更新的行数。 Tup Deleted 通过数据库查询删除的行数。 Conflicts 由于数据库恢复冲突取消的查询数量。 Temp Files 通过数据库查询创建的临时文件数量。 Temp Bytes 通过数据库查询写入临时文件的数据总量。 Deadlocks 在该数据库中检索的死锁数。 Blk Read Time 通过数据库后端读取数据文件块花费的时间,以毫秒计算。 Blk Write Time 通过数据库后端写入数据文件块花费的时间,以毫秒计算。 Stats Reset 重置当前状态统计的时间。 父主题: WDR报告信息介绍
  • WDR报告信息介绍 WDR报表主要内容如表1所示。 表1 WDR报表主要内容 项目 描述 Database Stat 数据库维度性能统计信息:事务,读写,行活动,写冲突,死锁等。 数据库范围报表,cluster模式和node模式下均可查看此报表。 Load Profile 数据库维度的性能统计信息:CPU时间,DB时间,逻辑读/物理读,IO性能,登入登出,负载强度,负载性能表现等。 数据库范围报表,cluster模式和node模式下均可查看此报表。 Instance Efficiency Percentages 数据库级或者节点缓冲命中率。 数据库、节点范围报表,cluster模式和node模式下均可查看此报表。 Top 10 Events by Total Wait Time 最消耗时间的事件。 节点范围报表,仅node模式下可查看此报表。 Wait Classes by Total Wait Time 最消耗时间的等待时间分类。 节点范围报表,仅node模式下可查看此报表。 Host CPU 主机CPU消耗。 节点范围报表,仅node模式下可查看此报表。 IO Profile 数据库或者节点维度的IO的使用情况。 数据库、节点范围报表,cluster模式和node模式下均可查看此报表。 Memory Statistics 内核内存使用分布。 节点范围报表,仅node模式下可查看此报表。 Time Model 节点范围上的SQL语句运行所产生的时间模型数据。 节点范围报表,仅node模式下可查看此报表。 SQL Statistics SQL语句各个维度性能统计,按以下维度排序展示:总时间、平均时间、CPU耗时、返回的行数、扫描的行数、执行次数、逻辑读、物理读。 数据库、节点范围报表,cluster模式和node模式下均可查看此报表。 Wait Events 节点级别的等待事件的统计信息。 节点范围报表,仅node模式下可查看此报表。 关键信息详见PG_THREAD_WAIT_STATUS章节中“等待状态列表”、“轻量级锁等待事件列表”、“IO等待事件列表”和“事务锁等待事件列表”。 Cache IO Stats 用户的表、索引的IO的统计信息。 数据库、节点范围报表,cluster模式和node模式下均可查看此报表。 Utility status 复制槽和后台checkpoint的状态信息。 节点范围报表,仅node模式下可查看此报表。 Object stats 表、索引维度的性能统计信息。 数据库、节点范围报表,cluster模式和node模式下均可查看此报表。 Configuration settings 节点配置。 节点范围报表,仅node模式下可查看此报表。 SQL Detail SQL语句文本详情。 数据库、节点范围报表,cluster模式和node模式下均可查看此报表。 Database Stat Load Profile Instance Efficiency Percentages Top 10 Events by Total Wait Time Wait Classes by Total Wait Time Host CPU IO Profile Memory Statistics Time Model SQL Statistics Wait Events Cache IO Stats Utility status Object stats Configuration settings SQL Detail 父主题: WDR Snapshot Schema
  • SNAPSHOT.TABLES_SNAP_TIMESTAMP TABLES_SNAP_TIMESTAMP表记录所有存储的WDR Snapshot中数据库、表对象以及WDR快照的开始和结束时间,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建该表。 表1 TABLES_SNAP_TIMESTAMP表属性 名称 类型 描述 示例 snapshot_id bigint WDR快照序号。 1 node_name name WDR快照的表信息所属的节点名。 dn_6001 db_name text WDR Snapshot对应的database。 tpcc1000 tablename text WDR Snapshot对应的table。 snap_xc_statio_all_indexes start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.425849+08 end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:27.707398+08 父主题: WDR Snapshot原信息
  • SNAPSHOT.SNAPSHOT SNAPSHOT表记录当前系统中存储的WDR 快照数据的索引信息,开始,结束时间。只能在系统库中查询到结果,用户库中无法查询,WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot)会触发创建该表。 表1 SNAPSHOT表属性 名称 类型 描述 示例 snapshot_id bigint WDR快照序号。 1 start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.423742+08 end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:43.67726+08 version int WDR快照的版本信息。 1 父主题: WDR Snapshot原信息
  • WDR Snapshot Schema WDR Snapshot在启动后(打开GUC参数enable_wdr_snapshot),会在用户表空间"pg_default",数据库"postgres"下的Snapshot Schema中创建对象,用于持久化WDR快照数据。默认初始化用户或monadmin用户可以访问和操作Snapshot Schema下的对象。 根据GUC参数wdr_snapshot_retention_days来自动管理快照的生命周期。 用户应该禁止对Snapshot Schema下的表进行增删改等操作,人为对这些表的修改或破坏可能会导致WDR各种异常情况甚至WDR不可用。 WDR Snapshot原信息 WDR Snapshot 数据表 WDR报告信息介绍 父主题: Schema
  • GS_SLOW_QUERY_INFO GS_SLOW_QUERY_INFO视图显示当前节点上已经转储的慢查询信息。此数据是从内核中转储到系统表中的数据。当设置GUC参数enable_resource_record为on时,系统会定时(周期为3分钟)将内核中query信息导入GS_WLM_SESSION_QUERY_INFO_ALL系统表,开启此功能会占用系统存储空间并对性能有一定影响。用户通过查询GS_SLOW_QUERY_INFO视图,可以查看已经转储的慢查询信息,本版本中已废弃。 表1 GS_SLOW_QUERY_INFO字段 名称 类型 描述 dbname text 数据库名称。 schemaname text schema名称。 nodename text 节点名称。 username text 用户名。 queryid bigint 归一化ID。 query text query语句。 start_time timestamp with time zone 开始执行时间。 finish_time timestamp with time zone 结束执行时间。 duration bigint 执行持续时间(毫秒)。 query_plan text 计划信息。 n_returned_rows bigint Select返回的结果集行数。 n_tuples_fetched bigint 随机扫描行数。 n_tuples_returned bigint 顺序扫描行数。 n_tuples_inserted bigint 插入行数。 n_tuples_updated bigint 更新行数。 n_tuples_deleted bigint 删除行数。 n_blocks_fetched bigint Cache加载次数。 n_blocks_hit bigint Cache命中数。 db_time bigint 有效的DB时间花费,多线程将累加(单位:微秒)。 cpu_time bigint CPU时间(单位:微秒)。 execution_time bigint 执行器内执行时间(单位:微秒)。 parse_time bigint SQL解析时间(单位:微秒)。 plan_time bigint SQL生成计划时间(单位:微秒)。 rewrite_time bigint SQL重写时间(单位:微秒)。 pl_execution_time bigint plpgsql上的执行时间(单位:微秒)。 pl_compilation_time bigint plpgsql上的编译时间(单位:微秒)。 net_send_time bigint 网络上的时间花费(单位:微秒)。 data_io_time bigint IO上的时间花费(单位:微秒)。 父主题: Query
  • ai_watchdog_parameters 表1 ai_watchdog_parameters参数 参数 类型 描述 name text 参数名称,包括如下常用参数: enable_ai_watchdog:是否开启本功能。 ai_watchdog_max_consuming_time_ms:最大耗时。 ai_watchdog_used_memory_kb:本功能当前内存使用。 ai_watchdog_detection_times:已检测次数。 enable_self_healing:发现问题后是否可以自愈。 oom_detected_times:已检测到的OOM次数。 hang_detected_times:已检测到的hang次数。 enable_oom_detection:是否自动启动了OOM探测功能。 in_wait_time:是否处于等待时间。 other_used_memory_has_risk:其他内存使用部分是否存在风险。 shared_used_mem_has_risk:共享内存上下文使用是否存在风险。 dynamic_used_shrctx_has_risk:动态内存使用是存在风险。 value text 参数值 父主题: AI Watchdog
  • ai_watchdog_monitor_status 表1 ai_watchdog_monitor_status参数说明 参数 类型 描述 metric_name text metric指标名称: tps:TPS。 tps_hourly:每小时的TPS均值。 shared_used_mem:共享内存使用量(MB)。 dynamic_used_shrctx:共享内存上下文使用量(MB)。 other_used_mem:其他内存使用量(MB)。 process_used_mem:系统常驻内存使用量(MB)。 dynamic_used_mem:动态内存使用量(MB)。 malloc_failures:每个采集间隔内的内存分配失败次数。 D_state_rate:D状态线程比例。 R_state_rate:R状态线程比例。 S_state_rate:S状态线程比例。 db_state:数据库的状态(68表示D、82表示R、83表示S)。 cpu_usage:CPU使用率,上限100。 disk_io:两个采集间隔内的磁盘IO延迟。 network_io:两个采集间隔内的网络IO延迟。 threadpool_usage:线程池使用率。 threadpool_hang_rate:线程池group处于hang状态的比例。 max_length int 采集队列长度。 current_length int 当前采集到的样本数。 collection_interval int 采集间隔,单位秒。 latest_value int 上次采集到的值,没采集到为null。 last_report timestamp 上次采集时刻。 父主题: AI Watchdog
  • global_streaming_hadr_rto_and_rpo_stat global_streaming_hadr_rto_and_rpo_stat视图显示流式容灾的主数据库实例和备数据库实例日志流控信息(只可在主数据库实例的主DN使用,备DN以及备数据库实例上均不可获取到统计信息)。 表1 global_streaming_hadr_rto_and_rpo_stat参数说明 参数 类型 描述 hadr_sender_node_name text 节点的名称,包含主数据库实例和备数据库实例首备。 hadr_receiver_node_name text 备数据库实例首备名称。 current_rto int 流控的信息,当前主备数据库实例的日志rto时间(单位:秒)。 target_rto int 流控的信息,目标主备数据库实例间的rto时间(单位:秒)。 current_rpo int 流控的信息,当前主备数据库实例的日志rpo时间(单位:秒)。 target_rpo int 流控的信息,目标主备数据库实例间的rpo时间(单位:秒)。 rto_sleep_time int RTO流控信息,为了达到目标rto,预期主机walsender所需要的睡眠时间(单位:微秒)。 rpo_sleep_time int RPO流控信息,为了达到目标rpo,预期主机xlogInsert所需要的睡眠时间(单位:微秒)。 父主题: RTO & RPO
  • global_rto_status global_rto_status视图显示关于主机和备机的日志流控信息(本节点除外、备DN上不可使用)。 表1 global_rto_status字段 参数 类型 描述 node_name text 节点的名称,包含主机和备机。 rto_info text 流控的信息,包含了备机当前的日志流控时间(单位:秒),备机通过GUC参数设置的预期流控时间(单位:秒),为了达到这个预期主机所需要的睡眠时间(单位:微秒)。 父主题: RTO & RPO
共100000条