更新时间:2024-10-14 GMT+08:00

统计信息函数

统计信息函数根据访问对象分为两种类型:针对某个数据库进行访问的函数,以数据库中每个表或索引的OID作为参数,标识需要报告的数据库;针对某个服务器进行访问的函数,以一个服务器进程号为参数,其范围从1到当前活跃服务器的数目。

  • pg_stat_get_db_conflict_tablespace(oid)

    描述:由于恢复与数据库中删除的表空间发生冲突而取消的查询数。

    返回值类型:bigint

  • pg_control_group_config()

    描述:在当前节点上打印cgroup配置。该函数需要sysadmin权限的用户才能够执行。

    返回值类型:record

  • pg_stat_get_db_stat_reset_time(oid)

    描述:上次重置数据库统计信息的时间。首次连接到每个数据库期间初始化为系统时间。当您在数据库上调用pg_stat_reset以及针对其中的任何表或索引执行pg_stat_reset_single_table_counters时,重置时间都会更新。

    返回值类型:timestamptz

  • pg_stat_get_function_total_time(oid)

    描述:该函数花费的总挂钟时间,以微秒为单位。包括花费在此函数调用上的时间。

    返回值类型:bigint

  • pg_stat_get_xact_tuples_returned(oid)

    描述:当前事务中参数为表时通过顺序扫描读取的行数,或参数为索引时返回的索引条目数。

    返回值类型:bigint

  • pg_stat_get_xact_numscans(oid)

    描述:当前事务中参数为表时执行的顺序扫描次数,或参数为索引时执行的索引扫描次数。

    返回值类型:bigint

  • pg_stat_get_xact_blocks_fetched(oid)

    描述:当前事务中对表或索引的磁盘块获取请求数。

    返回值类型:bigint

  • pg_stat_get_xact_blocks_hit(oid)

    描述:当前事务中对缓存中找到的表或索引的磁盘块获取请求数。

    返回值类型:bigint

  • pg_stat_get_xact_function_calls(oid)

    描述:在当前事务中调用该函数的次数。

    返回值类型:bigint

  • pg_stat_get_xact_function_self_time(oid)

    描述:在当前事务中仅花费在此功能上的时间。不包括花费在调用函数上的时间。

    返回值类型:bigint

  • pg_stat_get_xact_function_total_time(oid)

    描述:当前事务中该函数所花费的总挂钟时间(以微秒为单位)。包括花费在此函数调用上的时间。

    返回值类型:

  • pg_lock_status()

    描述:查询打开事务所持有的锁信息,所有用户均可执行该函数。

    返回值类型:返回字段可参考PG_LOCKS视图返回字段,该视图是通过查询本函数得到的结果。

  • pg_stat_get_wal_senders()

    描述:在主机端查询walsender信息。

    返回值类型:setofrecord

  • pgxc_get_senders_catchup_time()

    描述:在CN实例查询集群中是否存在处于日志追赶状态的备DN,以及追赶状态详情。

    返回值类型:setofrecord

  • pg_stat_get_stream_replications()

    描述:查询主备复制状态。

    返回值类型:setofrecord

  • pg_stat_get_db_numbackends(oid)

    描述:处理该数据库活跃的服务器进程数目。

    返回值类型:integer

  • pg_stat_get_db_xact_commit(oid)

    描述:数据库中已提交事务的数量。

    返回值类型:bigint

  • pg_stat_get_db_xact_rollback(oid)

    描述:数据库中回滚事务的数量。

    返回值类型:bigint

  • pg_stat_get_db_blocks_fetched(oid)

    描述:数据库中磁盘块抓取请求的总数。

    返回值类型:bigint

  • pg_stat_get_db_blocks_hit(oid)

    描述:数据库在缓冲区中找到的磁盘块抓取请求的总数。

    返回值类型:bigint

  • pg_stat_get_db_tuples_returned(oid)

    描述:为数据库返回的Tuple数。

    返回值类型:bigint

  • pg_stat_get_db_tuples_fetched(oid)

    描述:为数据库中获取的Tuple数。

    返回值类型:bigint

  • pg_stat_get_db_tuples_inserted(oid)

    描述:在数据库中插入Tuple数。

    返回值类型:bigint

  • pg_stat_get_db_tuples_updated(oid)

    描述:在数据库中更新的Tuple数。

    返回值类型:bigint

  • pg_stat_get_db_tuples_deleted(oid)

    描述:数据库中删除Tuple数。

    返回值类型:bigint

  • pg_stat_get_db_conflict_lock(oid)

    描述:数据库中锁冲突的数量。

    返回值类型:bigint

  • pg_stat_get_db_deadlocks(oid)

    描述:数据库中死锁的数量。

    返回值类型:bigint

  • pg_stat_get_numscans(oid)

    描述:如果参数是一个表,则顺序扫描读取的行数目。如果参数是一个索引,则返回索引行的数目。

    返回值类型:bigint

  • pg_stat_get_role_name(oid)

    描述:根据用户oid获取用户名。仅sysadmin和monitor admin用户可以访问。

    返回值类型:text

    示例:

    openGauss=# select pg_stat_get_role_name(10);
     pg_stat_get_role_name
    -----------------------
     aabbcc
    (1 row)
  • pg_stat_get_tuples_returned(oid)

    描述:如果参数是一个表,则顺序扫描读取的行数目。如果参数是一个索引,则返回的索引行的数目。

    返回值类型:bigint

  • pg_stat_get_tuples_fetched(oid)

    描述:如果参数是一个表,则位图扫描抓取的行数目。如果参数是一个索引,则用简单索引扫描抓取的行数目。

    返回值类型:bigint

  • pg_stat_get_tuples_inserted(oid)

    描述:插入表中行的数量。

    返回值类型:bigint

  • pg_stat_get_tuples_updated(oid)

    描述:在表中已更新行的数量。

    返回值类型:bigint

  • pg_stat_get_tuples_deleted(oid)

    描述:从表中删除行的数量。

    返回值类型:bigint

  • pg_stat_get_tuples_changed(oid)

    描述:该表上一次analyze或autoanalyze之后插入、更新、删除行的总数量。

    返回值类型:bigint

  • pg_stat_get_tuples_hot_updated(oid)

    描述:热更新的行数表。

    返回值类型:bigint

  • pg_stat_get_live_tuples(oid)

    描述:活行数表。

    返回值类型:bigint

  • pg_stat_get_dead_tuples(oid)

    描述:死行数表。

    返回值类型:bigint

  • pg_stat_get_blocks_fetched(oid)

    描述:表或者索引的磁盘块抓取请求的数量。

    返回值类型:bigint

  • pg_stat_get_blocks_hit(oid)

    描述:在缓冲区中找到的表或者索引的磁盘块请求数目。

    返回值类型:bigint

  • pg_stat_get_partition_tuples_inserted(oid)

    描述:插入相应表分区中行的数量。

    返回值类型:bigint

  • pg_stat_get_partition_tuples_updated(oid)

    描述:在相应表分区中已更新行的数量。

    返回值类型:bigint

  • pg_stat_get_partition_tuples_deleted(oid)

    描述:从相应表分区中删除行的数量。

    返回值类型:bigint

  • pg_stat_get_partition_tuples_changed(oid)

    描述:该表分区上一次analyze或autoanalyze之后插入、更新、删除行的总数量。

    返回值类型:bigint

  • pg_stat_get_partition_live_tuples(oid)

    描述:活行数表分区。

    返回值类型:bigint

  • pg_stat_get_partition_dead_tuples(oid)

    描述:死行数表分区。

    返回值类型:bigint

  • pg_stat_get_xact_tuples_fetched(oid)

    描述:事务中扫描的tuple行数。

    返回值类型:bigint

  • pg_stat_get_xact_tuples_inserted(oid)

    描述:表相关的活跃子事务中插入的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_tuples_deleted(oid)

    描述:表相关的活跃子事务中删除的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_tuples_hot_updated(oid)

    描述:表相关的活跃子事务中热更新的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_tuples_updated(oid)

    描述:表相关的活跃子事务中更新的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_partition_tuples_inserted(oid)

    描述:表分区相关的活跃子事务中插入的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_partition_tuples_deleted(oid)

    描述:表分区相关的活跃子事务中删除的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_partition_tuples_hot_updated(oid)

    描述:表分区相关的活跃子事务中热更新的tuple数。

    返回值类型:bigint

  • pg_stat_get_xact_partition_tuples_updated(oid)

    描述:表分区相关的活跃子事务中更新的tuple数。

    返回值类型:bigint

  • pg_stat_get_last_vacuum_time(oid)

    描述:用户在该表上最后一次手动启动清理或者autovacuum线程启动清理的时间。

    返回值类型:timestamptz

  • pg_stat_get_last_autovacuum_time(oid)

    描述:autovacuum守护进程在该表上最后一次启动清理的时间。

    返回值类型:timestamptz

  • pg_stat_get_vacuum_count(oid)

    描述:用户在该表上启动清理的次数。

    返回值类型:bigint

  • pg_stat_get_autovacuum_count(oid)

    描述:autovacuum守护进程在该表上启动清理的次数。

    返回值类型:bigint

  • pg_stat_get_last_analyze_time(oid)

    描述:用户在该表上最后一次手动启动分析或者autovacuum线程启动分析的时间。

    返回值类型:timestamptz

  • pg_stat_get_last_autoanalyze_time(oid)

    描述:autovacuum守护进程在该表上最后一次启动分析的时间。

    返回值类型:timestamptz

  • pg_stat_get_analyze_count(oid)

    描述:用户在该表上启动分析的次数。

    返回值类型:bigint

  • pg_stat_get_autoanalyze_count(oid)

    描述:autovacuum守护进程在该表上启动分析的次数。

    返回值类型:bigint

  • pg_total_autovac_tuples(bool)

    描述:返回total autovac相关的tuple记录,如nodename,nspname,relname以及各类tuple的IUD信息,入参分别为:是否查询relation信息,是否查询local信息。

    返回值类型:setofrecord

  • pg_autovac_status(oid)

    描述:返回和autovac状态相关的参数信息,如nodename,nspname,relname,analyze,vacuum设置,analyze/vacuum阈值, analyze/vacuum tuple数等。仅sysadmin可以使用该函数。

    返回值类型:setofrecord

  • pg_autovac_timeout(oid)

    描述:返回某个表做autovac连续超时的次数,表信息非法或node信息异常返回NULL。

    返回值类型:bigint

  • pg_autovac_coordinator(oid)

    描述:返回对某个表做autovac的coordinator名称,表信息非法或node信息异常返回NULL。

    返回值类型:text

  • pg_stat_get_last_data_changed_time(oid)

    描述:insert/update/delete, exchange/truncate/drop partition在该表上最后一次操作的时间,PG_STAT_ALL_TABLES视图last_data_changed列的数据是通过该函数求值,在表数量很大的场景中,通过视图获取表数据最后修改时间的性能较差,建议直接使用该函数获取表数据的最后修改时间。

    返回值类型:timestamptz

  • pg_stat_set_last_data_changed_time(oid)

    描述:手动设置该表上最后一次insert/update/delete, exchange/truncate/drop partition操作的时间。

    返回值类型:void

  • pg_backend_pid()

    描述:当前会话的服务器线程的线程ID。

    返回值类型:integer

  • pg_stat_get_activity(integer)

    描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。返回结果不包含connection_info列。初始用户、系统管理员和monadmin可以查看所有的数据,普通用户只能查询自己的结果。

    示例:

    openGauss=# select * from pg_stat_get_activity(139881386280704);
     datid |       pid       | sessionid | usesysid | application_name | state  |                        query                         | waiting |          xact_start           |          query_start          |
        backend_start         |         state_change         | client_addr | client_hostname | client_port | enqueue |     query_id      |   srespool   | global_sessionid | unique_sql_id | trace_id
    -------+-----------------+-----------+----------+------------------+--------+------------------------------------------------------+---------+-------------------------------+-------------------------------+-----
    --------------------------+------------------------------+-------------+-----------------+-------------+---------+-------------------+--------------+------------------+---------------+----------
     16545 | 139881386280704 |        69 |       10 | gsql             | active | select * from pg_stat_get_activity(139881386280704); | f       | 2022-01-18 19:43:05.167718+08 | 2022-01-18 19:43:05.167718+08 | 2022
    -01-18 19:42:33.513507+08 | 2022-01-18 19:43:05.16773+08 |             |                 |          -1 |         | 72620543991624410 | default_pool | 1938253334#69#0  |    3751941862 |
    (1 row)

    返回值类型:setofrecord

  • pg_stat_get_activity_with_conninfo(integer)

    描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。初始用户、系统管理员和monadmin可以查看所有的数据,普通用户只能查询自己的结果。

    openGauss=# select * from pg_stat_get_activity_with_conninfo(139881386280704);
     datid |       pid       | sessionid | usesysid | application_name | state  |                               query                                | waiting |          xact_start           |          query_start
            |         backend_start         |         state_change          | client_addr | client_hostname | client_port | enqueue |     query_id      |
          connection_info                                                                    |   srespool   | global_sessionid | unique_sql_id | trace_id
    -------+-----------------+-----------+----------+------------------+--------+--------------------------------------------------------------------+---------+-------------------------------+-----------------------
    --------+-------------------------------+-------------------------------+-------------+-----------------+-------------+---------+-------------------+--------------------------------------------------------------
    -----------------------------------------------------------------------------------------+--------------+------------------+---------------+----------
     16545 | 139881386280704 |        69 |       10 | gsql             | active | select * from pg_stat_get_activity_with_conninfo(139881386280704); | f       | 2022-01-18 19:45:20.125433+08 | 2022-01-18 19:45:20.12
    5433+08 | 2022-01-18 19:42:33.513507+08 | 2022-01-18 19:45:20.125469+08 |             |                 |          -1 |         | 72620543991624470 | {"driver_name":"libpq","driver_version":"(GaussDB Vxxx
    RxxxCxx build 5dde2050) compiled at 2022-01-11 14:38:20 commit 3320 last mr 7176 debug"} | default_pool | 1938253334:69#0  |    3858105710 |
    (1 row)

    返回值类型:setofrecord

  • pg_stat_get_activity_ng(integer)

    描述:返回一个关于带有特殊PID的活跃后台线程记录信息,当参数为NULL时,则返回每个活跃的后台线程的记录。系统管理员和monadmin可以查看所有的数据,普通用户只能查询自己的结果。

    返回值类型:setofrecord

    函数返回字段说明如下:

    名称

    类型

    描述

    datid

    oid

    数据库oid。

    pid

    biginit

    后端线程的ID。

    sessionid

    biginit

    会话的id。

    node_group

    text

    数据所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)

  • pg_user_iostat(text)

    描述:显示和当前用户执行作业正在运行时的IO负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)相关信息。

    返回值类型:record

    函数返回字段说明如下:

    名称

    类型

    描述

    userid

    oid

    用户id。

    min_curr_iops

    int4

    当前该用户io在各DN中的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。

    max_curr_iops

    int4

    当前该用户io在各DN中的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。

    min_peak_iops

    int4

    该用户io峰值中,各DN的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。

    max_peak_iops

    int4

    该用户io峰值中,各DN的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。

    io_limits

    int4

    用户指定的资源池所设置的io_limits。对于行存,以万次/s为单位;对于列存,以次/s为单位。

    io_priority

    text

    该用户所设io_priority。对于行存,以万次/s为单位;对于列存,以次/s为单位。

    curr_io_limits

    int4

    使用io_priority管控io时的实时io_limits值。

  • pg_stat_get_function_calls(oid)

    描述:函数已被调用次数。

    返回值类型:bigint

  • pg_stat_get_function_self_time(oid)

    描述:只有在此功能所花费的时间。函数嵌套调用其他函数所花费的时间被排除在外。

    返回值类型:bigint

  • pg_stat_get_backend_idset()

    描述:设置当前活动的服务器进程数(从1到活动服务器进程的数量)。

    返回值类型:setofinteger

  • pg_stat_get_backend_pid(integer)

    描述:给定的服务器线程的线程ID。

    返回值类型:bigint

  • pg_stat_get_backend_dbid(integer)

    描述:给定服务器进程的数据库ID。

    返回值类型:oid

  • pg_stat_get_backend_userid(integer)

    描述:给定服务器进程的用户ID,本函数仅系统管理员可调用。

    返回值类型:oid

  • pg_stat_get_backend_activity(integer)

    描述:给定服务器进程的当前活动查询,仅在调用者是系统管理员或被查询会话的用户,并且打开track_activities的时候才能获得结果。

    返回值类型:text

  • pg_stat_get_backend_waiting(integer)

    描述:如果给定服务器进程在等待某个锁,并且调用者是系统管理员或被查询会话的用户,并且打开track_activities的时候才返回真。

    返回值类型:Boolean

  • pg_stat_get_backend_activity_start(integer)

    描述:给定服务器进程当前正在执行的查询的起始时间,仅在调用者是系统管理员或被查询会话的用户,并且打开track_activities的时候才能获得结果。

    返回值类型:timestampwithtimezone

  • pg_stat_get_backend_xact_start(integer)

    描述:给定服务器进程当前正在执行的事务的开始时间,但只有当前用户是系统管理员或被查询会话的用户,并且打开track_activities的时候才能获得结果。

    返回值类型:timestampwithtimezone

  • pg_stat_get_backend_start(integer)

    描述:给定服务器进程启动的时间,如果当前用户不是系统管理员或被查询的后端的用户,则返回NULL。

    返回值类型:timestampwithtimezone

  • pg_stat_get_backend_client_addr(integer)

    描述:连接到给定客户端后端的IP地址。如果是通过Unix域套接字连接的则返回NULL;如果当前用户不是系统管理员或被查询会话的用户,也返回NULL。

    返回值类型:inet

  • pg_stat_get_backend_client_port(integer)

    描述:连接到给定客户端后端的TCP端口。如果是通过Unix域套接字连接的则返回-1;如果当前用户不是系统管理员或被查询会话的用户,也返回NULL。

    返回值类型:integer

  • pg_stat_get_bgwriter_timed_checkpoints()

    描述:后台写进程开启定时检查点的时间(因为checkpoint_timeout时间已经过期了)。

    返回值类型:bigint

  • pg_stat_get_bgwriter_requested_checkpoints()

    描述:后台写进程开启基于后端请求的检查点的时间,因为已经超过了checkpoint_segments或因为已经执行了CHECKPOINT。

    返回值类型:bigint

  • pg_stat_get_bgwriter_buf_written_checkpoints()

    描述:在检查点期间后台写进程写入的缓冲区数目。

    返回值类型:bigint

  • pg_stat_get_bgwriter_buf_written_clean()

    描述:为日常清理脏块,后台写进程写入的缓冲区数目。

    返回值类型:bigint

  • pg_stat_get_bgwriter_maxwritten_clean()

    描述:后台写进程停止清理扫描的时间,因为已经写入了更多的缓冲区(相比bgwriter_lru_maxpages参数声明的缓冲区数)。

    返回值类型:bigint

  • pg_stat_get_buf_written_backend()

    描述:后端进程写入的缓冲区数,因为它们需要分配一个新的缓冲区。

    返回值类型:bigint

  • pg_stat_get_buf_alloc()

    描述:分配的总缓冲区数。

    返回值类型:bigint

  • pg_stat_clear_snapshot()

    描述:清理当前的统计快照。该函数仅sysadmin和monitoradmin可以执行。

    返回值类型:void

  • pg_stat_reset()

    描述:为当前数据库重置统计计数器为0(需要系统管理员权限)。

    返回值类型:void

  • gs_stat_reset()

    描述:将各节点上的为当前数据库重置统计计数器为0(需要系统管理员权限)。

    返回值类型:void

  • pg_stat_reset_shared(text)

    描述:重置shared cluster每个节点当前数据统计计数器为0(需要系统管理员权限)。

    返回值类型:void

  • pg_stat_reset_single_table_counters(oid)

    描述:为当前数据库中的一个表或索引重置统计为0(需要系统管理员权限)。

    返回值类型:void

  • pg_stat_reset_single_function_counters(oid)

    描述:为当前数据库中的一个函数重置统计为0(需要系统管理员权限)。

    返回值类型:void

  • pg_stat_session_cu(int, int, int)

    描述:获取当前节点所运行session的CU命中统计信息。

    返回值类型:record

  • gs_get_stat_session_cu(text, int, int, int)

    描述:获取集群所有运行session的CU命中统计信息。

    返回值类型:record

  • gs_get_stat_db_cu(text, text, bigint, bigint, bigint)

    描述:获取集群一个数据库的CU命中统计信息。

    返回值类型:record

  • pg_stat_get_cu_mem_hit(oid)

    描述:获取当前节点当前数据库中一个列存表的CU内存命中次数。

    返回值类型:bigint

  • pg_stat_get_cu_hdd_sync(oid)

    描述:获取当前节点当前数据库中一个列存表从磁盘同步读取CU次数。

    返回值类型:bigint

  • pg_stat_get_cu_hdd_asyn(oid)

    描述:获取当前节点当前数据库中一个列存表从磁盘异步读取CU次数。

    返回值类型:bigint

  • pg_stat_get_db_cu_mem_hit(oid)

    描述:获取当前节点一个数据库CU内存命中次数。

    返回值类型:bigint

  • pg_stat_get_db_cu_hdd_sync(oid)

    描述:获取当前节点一个数据库从磁盘同步读取CU次数。

    返回值类型:bigint

  • pgxc_get_wlm_current_instance_info(text, int default null)

    描述:在CN节点上查询集群各节点当前的资源使用情况,读取内存中还未存到GS_WLM_INSTANCE_HISTORY系统表的数据。入参分别为节点名称(可以输入ALL、C、D、实例名称)、每个节点返回的大数量。返回值为GS_WLM_INSTANCE_HISTORY。

    返回值类型:setofrecord

  • pgxc_get_wlm_history_instance_info(text, TIMESTAMP, TIMESTAMP, int default null)

    描述:在CN节点上查询集群各节点历史资源使用情况,读取 GS_WLM_INSTANCE_HISTORY系统表的数据。入参分别为节点名称(可以输入 ALL、C、D、实例名称)、起始区间时间、结束区间时间和每个实例返回的大数 量。返回值为GS_WLM_INSTANCE_HISTORY。

    返回值类型:setofrecord

  • pg_stat_get_db_cu_hdd_asyn(oid)

    描述:获取当前节点一个数据库从磁盘异步读取CU次数。

    返回值类型:bigint

  • pgxc_fenced_udf_process(integer)

    描述:查看UDF Master和Work进程数,仅sysadmin和monadmin用户有权限执行。入参为1时查看master进程数,入参为2时查看worker进程数,入参为3时杀死所有worker进程。

    返回值类型:text

  • fenced_udf_process()

    描述:查看本地UDF Master和Work进程数。

    返回值类型:record

  • total_cpu()

    描述:获取当前节点使用的cpu时间,单位是jiffies。

    返回值类型:bigint

  • total_memory()

    描述:获取当前节点使用的虚拟内存大小,单位KB。

    返回值类型:bigint

  • pgxc_terminate_all_fenced_udf_process()

    描述:Kill所有的UDF Work进程,仅sysadmin和monadmin用户有权限执行。

    返回值类型:bool

  • GS_ALL_NODEGROUP_CONTROL_GROUP_INFO(text)
    描述:提供了所有逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)的控制组信息。该函数在调用的时候需要指定要查询逻辑集群的名称。例如要查询'installation'逻辑集群的控制组信息:
    1
    SELECT * FROM GS_ALL_NODEGROUP_CONTROL_GROUP_INFO('installation')
    

    返回值类型:record

    函数返回字段如下:

    名称

    类型

    描述

    name

    text

    控制组的名称。

    type

    text

    控制组的类型。

    gid

    bigint

    控制组ID。

    classgid

    bigint

    Workload所属Class的控制组ID。

    class

    text

    Class控制组。

    workload

    text

    Workload控制组。

    shares

    bigint

    控制组分配的CPU资源配额。

    limits

    bigint

    控制组分配的CPU资源限额。

    wdlevel

    bigint

    Workload控制组层级。

    cpucores

    text

    控制组使用的CPU核的信息。

  • gs_get_nodegroup_tablecount(name)

    描述:得到一个逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)中所有数据库包含的用户表数目。

    返回值类型:integer

  • pgxc_max_datanode_size(name)

    描述:得到一个逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)所有DN节点中数据库文件占用磁盘空间的最大值,单位为字节。

    返回值类型:bigint

  • gs_check_logic_cluster_consistency()

    描述:检查当前系统中所有逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)是否存在系统信息不一致的情况,如果返回空记录,表示不存在不一致情况;否则,逻辑集群CN和DN上的NodeGroup信息存在不一致。该函数应该在非扩缩容重分布时调用。

    返回值类型:record

  • gs_check_tables_distribution()

    描述: 检查当前系统中用户表的分布是否存在不一致,如果返回空记录,表示不存在不一致。该函数应该在非扩缩容重分布时调用。

    返回值类型:record

  • pg_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)

    描述:获取当前节点自启动后,读取出现Page/CU的损坏信息。

    返回值类型:record

  • pgxc_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)

    描述:获取集群所有节点自启动后,读取出现Page/CU的损坏信息。

    返回值类型:record

  • pg_stat_bad_block_clear()

    描述:清理节点记录的读取出现的Page/CU损坏信息(需要系统管理员权限)。

    返回值类型:void

  • pgxc_stat_bad_block_clear

    描述:清理集群所有节点记录的读取出现的Page/CU损坏信息(需要系统管理员权限)。

    返回值类型:void

  • pgxc_log_comm_status(void)

    描述:当使用TCP代理通信时,PGXC系统视图将datanode的通信层状态输出到各个日志文件中。

    返回值类型:void

  • gs_respool_exception_info(pool text)

    描述:查看某个资源池关联的查询规则信息。

    返回值类型:record

  • gs_control_group_info(pool text)

    描述:查看资源池关联的控制组信息。该函数需要sysadmin权限的用户才能够执行。

    返回值类型:record

    返回信息如下:

    属性

    属性值

    描述

    name

    class_a:workload_a1

    class和workload名称。

    class

    class_a

    Class控制组名称。

    workload

    workload_a1

    Workload控制组名称。

    type

    DEFWD

    控制组类型(Top、CLASS、BAKWD、DEFWD、TSWD)。

    gid

    87

    控制组id。

    shares

    30

    占父节点CPU资源的百分比。

    limits

    0

    占父节点CPU核数的百分比。

    rate

    0

    Timeshare中的分配比例。

    cpucores

    0-3

    CPU核心数。

  • gs_all_control_group_info()

    描述:查看数据库内所有的控制组信息。函数返回信息具体的字段16.3.48 GS_ALL_CONTROL_GROUP_INFO字段。

    返回值类型:record

  • gs_get_control_group_info()

    描述:查看所有的控制组信息。函数返回信息具体的字段16.3.53 GS_GET_CONTROL_GROUP_INFO字段。该函数需要sysadmin权限的用户才能够执行。

    返回值类型:record

  • get_instr_workload_info(integer)

    描述:获取当前CN节点上事务量信息,事务时间信息。

    返回值类型:record

    属性

    属性值

    描述

    user_oid

    10

    用户id。

    commit_counter

    4

    前端事务commit数量。

    rollback_counter

    1

    前端事务rollback数量。

    resp_min

    949

    前端事务最小响应时间(单位:微秒)。

    resp_max

    201891

    前端事务最大响应时间(单位:微秒)。

    resp_avg

    43564

    前端事务平均响应时间(单位:微秒)。

    resp_total

    217822

    前端事务总响应时间(单位:微秒)。

    bg_commit_counter

    910

    后端事务commit数量。

    bg_rollback_counter

    0

    后端事务rollback数量。

    bg_resp_min

    97

    后端事务最小响应时间(单位:微秒)。

    bg_resp_max

    678080687

    后端事务最大响应时间(单位:微秒)。

    bg_resp_avg

    327847884

    后端事务平均响应时间(单位:微秒)。

    bg_resp_total

    298341575300

    后端事务总响应时间(单位:微秒)。

  • pv_instance_time()

    描述:获取当前节点上各个关键阶段的时间消耗。

    返回值类型:record

    Stat_name属性

    属性值

    描述

    DB_TIME

    1062385

    所有线程端到端的墙上时间(WALL TIME)消耗总和(单位:微秒)。

    CPU_TIME

    311777

    所有线程CPU时间消耗总和(单位:微秒)。

    EXECUTION_TIME

    380037

    消耗在执行器上的时间总和(单位:微秒)。

    PARSE_TIME

    6033

    消耗在SQL解析上的时间总和(单位:微秒)。

    PLAN_TIME

    173356

    消耗在执行计划生成上的时间总和(单位:微秒)。

    REWRITE_TIME

    2274

    消耗在查询重写上的时间总和(单位:微秒)。

    PL_EXECUTION_TIME

    0

    消耗在PL/SQL执行上的时间总和(单位:微秒)。

    PL_COMPILATION_TIME

    557

    消耗在SQL编译上的时间总和(单位:微秒)。

    NET_SEND_TIME

    1673

    消耗在网络发送上的时间总和(单位:微秒)。

    DATA_IO_TIME

    426622

    消耗在数据读写上的时间总和(单位:微秒)。

  • DBE_PERF.get_global_instance_time()

    描述:提供整个集群各个关键阶段的时间消耗,仅在CN上支持查询。

    返回值类型:record

  • get_instr_unique_sql()

    描述:获取当前结点的执行语句(归一化SQL)信息,查询该函数必须具有sysadmin权限或者monitor admin权限。

    返回值类型:record

  • get_instr_wait_event(integer)

    描述:获取当前节点event等待的统计信息。

    返回值类型:record

  • get_instr_user_login()

    描述:获取当前节点的用户登入登出次数信息,查询该函数必须具有sysadmin或者monitor admin权限。

    返回值类型:record

  • get_instr_rt_percentile(integer)

    描述:获取CCN节点SQL 响应时间P80,P95分布信息,集群统一的信息在CCN节点上,其他节点查询为0。

    返回值类型:record

  • get_node_stat_reset_time()

    描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。

    返回值类型:record

  • gs_session_memory_detail_tp()

    描述:统计线程的内存使用情况,以MemoryContext节点来统计。当开启线程池(enable_thread_pool = on)时,该视图包含所有的线程和会话的内存使用情况。

    返回值类型:record

  • create_wlm_operator_info(int flag)

    描述:将当前内存中记录的TopSQL算子级别相关统计信息清理,当传入的参数大于0时,会将这部分信息归档到gs_wlm_operator_info和gs_wlm_ec_operator_info中,否则不会归档。该函数只有sysadmin权限的用户可以执行。

    返回值类型:int

  • create_wlm_session_info(int flag)

    描述:将当前内存中记录的TopSQL查询语句级别相关统计信息清理,当传入的参数大于0时,会将这部分信息归档到gs_wlm_session_query_info_all中,否则不会归档。该函数只有sysadmin权限的用户可以执行。

    返回值类型:int

  • pg_stat_get_wlm_session_info(int flag)

    描述:获取当前内存中记录的TopSQL查询语句级别相关统计信息,当传入的参数不为0时,会将这部分信息从内存中清理掉。该函数只有system admin和monitor admin用户可以执行。

    返回值类型:record

  • gs_paxos_stat_replication()

    描述:在主机端查询备机信息。目前分布式不支持。

  • get_paxos_replication_info()

    描述:查询主备复制信息。目前分布式不支持。

  • gs_wlm_get_resource_pool_info(int)

    描述:获取所有用户的资源使用统计信息,入参为int类型,可以为任意int值或NULL。

    返回值类型:record

  • gs_wlm_get_all_user_resource_info()

    描述:获取所有用户的资源使用统计信息。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • gs_wlm_get_user_info(int)

    描述:获取所有用户的相关信息,入参为int类型,可以为任意int值或NULL。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • gs_wlm_get_workload_records()

    描述:获取动态负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)下的所有作业信息,该函数只在动态负载管理开的情况下有效。

    返回值类型:record

  • gs_wlm_persistent_user_resource_info()

    描述:将当前所有的用户资源使用统计信息归档到gs_wlm_user_resource_history系统表中,只有sysadmin用户有权限执行。

    返回值类型:record

  • gs_wlm_readjust_user_space(oid)

    描述:修正所有用户的存储空间使用情况。该函数只有管理员用户可以执行。

    返回值类型:record

  • gs_wlm_readjust_user_space_through_username(text name)

    描述:修正指定用户的存储空间使用情况。该函数普通用户只能修正自己的使用情况,只有管理员用户可以修正所有用户的使用情况。当name指定为“0000”,表示需要修正所有用户的使用情况。

    返回值类型:record

  • gs_wlm_readjust_user_space_with_reset_flag(text name, boolean isfirst)

    描述:修正指定用户的存储空间使用情况。入参isfirst为true表示从0开始统计,否则从上一次结果继续统计。该函数普通用户只能修正自己的使用情况,只有管理员用户可以修正所有用户的使用情况。当name指定为“0000”,表示需要修正所有用户的使用情况。

    返回值类型:record

  • gs_wlm_session_respool(bigint)

    描述:获取当前所有后台线程的session resource pool相关信息。入参为bigint类型,可以为任意bigint值或NULL。

    返回值类型:record

  • gs_total_nodegroup_memory_detail

    描述:返回当前数据库逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)使用内存的信息,单位为MB。

    若GUC参数enable_memory_limit=off,该函数不能使用。

    返回值类型:setof record

    表1 返回值说明

    名称

    类型

    描述

    ngname

    text

    逻辑集群名称。

    memorytype

    text

    内存类型,包括以下几种:
    • ng_total_memory:该逻辑集群的总内存大小。
    • ng_used_memory:该逻辑集群的实际使用内存大小。
    • ng_estimate_memory:该逻辑集群的估算使用内存大小。
    • ng_foreignrp_memsize:该逻辑集群的外部资源池的总内存大小。
    • ng_foreignrp_usedsize:该逻辑集群的外部资源池实际使用内存大小。
    • ng_foreignrp_peaksize:该逻辑集群的外部资源池使用内存的峰值。
    • ng_foreignrp_mempct:该逻辑集群的外部资源池占该逻辑集群总内存大小的百分比。
    • ng_foreignrp_estmsize:该逻辑集群的外部资源池估算使用内存大小。

    memorymbytes

    integer

    内存类型分配内存的大小。

  • gs_io_wait_status()

    描述:返回当前节点IO管控的实时统计信息。

    返回值类型:setof record

    名称

    类型

    描述

    node_name

    text

    节点名称。

    device_name

    text

    节点挂载的数据磁盘名称。

    read_per_second

    float

    读完成每秒次数。

    write_per_second

    float

    写完成每秒次数。

    write_ratio

    float

    写磁盘占总的IO使用的比例。

    io_util

    float

    每秒IO所占CPU总时间的百分比。

    total_io_util

    integer

    过去三次IO所占CPU总时间的等级(取值为0~6)。

    tick_count

    integer

    更新磁盘IO信息的周期,固定为1秒,每次读取数据前都会被清零。

    io_wait_list_len

    integer

    IO请求线程等待队列的大小,若为0,则表示当前没有IO被管控

  • gs_get_shared_memctx_detail(text)

    描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。只支持查询通过pg_shared_memory_detail视图查询出来的内存上下文,入参为内存上下文名称(即pg_shared_memory_detail返回结果的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限。

    返回值类型:setof record

    名称

    类型

    描述

    file

    text

    申请内存所在文件的文件名。

    line

    int8

    申请内存所在文件的代码行号。

    size

    int8

    申请的内存大小,同一文件同一行多次申请会做累加。

    该视图不支持release版本小型化场景。

  • gs_get_session_memctx_detail(text)

    描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。仅在线程池模式下生效。且只支持查询通过pv_session_memory_context视图查询出来的内存上下文,入参为内存上下文名称(即pv_session_memory_context返回结果的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限。

    返回值类型:setof record

    名称

    类型

    描述

    file

    text

    申请内存所在文件的文件名。

    line

    int8

    申请内存所在文件的代码行号。

    size

    int8

    申请的内存大小,单位为byte,同一文件同一行多次申请会做累加。

    该视图仅在线程池模式下生效,且该视图不支持release版本小型化场景。

  • gs_get_thread_memctx_detail(tid,text)

    描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。只支持查询通过pv_thread_memory_context视图查询出来的内存上下文,第一个入参为线程id(即pv_thread_memory_context返回数据的tid列),第二个参数为内存上下文名称(即pv_thread_memory_context返回数据的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限。

    返回值类型:setof record

    名称

    类型

    描述

    file

    text

    申请内存所在文件的文件名。

    line

    int8

    申请内存所在文件的代码行号。

    size

    int8

    申请的内存大小,单位为byte,同一文件同一行多次申请会做累加。

    该视图不支持release版本小型化场景。

  • gs_get_history_memory_detail(cstring)

    描述:查询历史内存快照信息,入参类型为cstring,取值为NULL或内存快照log文件名称:

    1. 若入参为NULL,则显示当前节点所有的内存快照log文件列表。
    2. 若入参为1查询到的列表中的内存快照log名称,则显示该log文件记录的内存快照详细信息。
    3. 若输入其他入参,则会提示入参错误或打开文件失败。

    查询该函数必须具有sysadmin权限或者monitor admin权限。

    返回值类型:text

    名称

    类型

    描述

    memory_info

    text

    内存信息,如果函数入参为NULL,该列显示内存快照文件列表信息;入参为内存快照文件名称,则显示该文件的具体内容。

  • gs_stat_get_hotkeys_info()

    若GUC参数enable_hotkeys_collection = off, gs_stat_get_hotkeys_info、global_stat_get_hotkeys_info函数和global_stat_hotkeys_info视图无法正常查询。不影响gs_stat_clean_hotkeys和global_stat_clean_hotkeys清理接口的正常使用。

    描述:获取当前节点上热点key的统计情况。

    返回值类型:record

    1
    2
    3
    4
    5
    6
    openGauss=# select * from gs_stat_get_hotkeys_info() order by count, hash_value;
     database_name | schema_name |    table_name     | key_value | hash_value | count
    ---------------+-------------+-------------------+-----------+------------+-------
     regression    | public      | hotkey_single_col | {22}      | 1858004829 |     2
     regression    | public      | hotkey_single_col | {11}      | 2011968649 |     2
    (2 rows)
    

    表1 返回值说明

    名称

    类型

    描述

    database_name

    text

    热点key所在database名称。

    schema_name

    text

    热点key所在schema名称。

    table_name

    text

    热点key所在table名称。

    key_value

    text

    热点key的value。

    hash_value

    bigint

    热点key在数据库中的哈希值,如果是List/Range分布表,该字段为0。

    count

    bigint

    热点key被访问频次。

  • gs_stat_clean_hotkeys()
    • 热点key检测是针对大并发大流量场景设计的特性,访问几次的场景,查询清理会存在一定误差。
    • 清理接口的设计上,只会清理LRU队列中的统计数据,而不会清理FIFO中的历史数据。因此如果清理完后,再访问一次FIFO中存在的历史键值,仍会被当做热点key处理。global_stat_clean_hotkeys同理。

    描述:清理当前节点上热点key的统计信息。

    返回值:boolean

    1
    2
    3
    4
    5
    openGauss=# select * from gs_stat_clean_hotkeys();
     gs_stat_clean_hotkeys
    -----------------------
     t
    (1 row)
    
  • global_stat_get_hotkeys_info()

    执行业务过程中,执行select * from global_stat_hotkeys_info minus select * from global_stat_get_hotkeys_info();因为存在时间差,可能出现不为0的情况。

    描述:获取整个集群中热点key的统计情况。

    返回值类型:record

    1
    2
    3
    4
    5
    6
    openGauss=# select * from global_stat_get_hotkeys_info() order by count, hash_value;
     database_name | schema_name |    table_name     | key_value | hash_value | count
    ---------------+-------------+-------------------+-----------+------------+-------
     regression    | public      | hotkey_single_col | {22}      | 1858004829 |     2
     regression    | public      | hotkey_single_col | {11}      | 2011968649 |     2
    (2 rows)
    
  • global_stat_clean_hotkeys()

    描述:清理整个集群中热点key的统计信息。

    返回值:boolean

    1
    2
    3
    4
    5
    openGauss=# select * from global_stat_clean_hotkeys();
     global_stat_clean_hotkeys
    -----------------------
     t
    (1 row)
    
  • global_comm_get_recv_stream()

    描述:获取所有DN节点上所有的通信库接收流状态。函数返回信息具体字段参考PG_COMM_RECV_STREAM字段。

    返回值类型:record

  • global_comm_get_send_stream()

    描述:获取所有DN节点上所有的通信库发送流状态。函数返回信息具体字段参考PG_COMM_SEND_STREAM字段。

    返回值类型:record

  • global_comm_get_status()

    描述:获取所有DN节点的通信库状态。函数返回信息具体字段参考PG_COMM_STATUS字段。

    返回值类型:record

  • global_comm_client_info()

    描述:获取全局节点活跃的客户端连接信息。函数返回信息具体字段参考COMM_CLIENT_INFO字段。

    返回类型:record

  • global_comm_get_client_info()

    描述:获取全局节点客户端连接信息。函数返回信息具体字段参考COMM_CLIENT_INFO字段。

    返回类型:record

  • pgxc_get_wlm_ec_operator_history()

    描述:显示在所有CN上缓存的执行EC(ExtensionConnector)作业结束时的算子信息。该信息会被定时清理,清理周期为3分钟。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_ec_operator_info()

    描述:显示在所有CN上执行的EC(ExtensionConnector)作业结束时的算子信息。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_ec_operator_statistics()

    描述:显示在所有CN上正在执行的EC(ExtensionConnector)作业的算子信息。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_operator_history()

    描述:显示在所有CN上缓存的作业执行结束时的算子信息。该信息会被定时清理,清理周期为3分钟。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_operator_info()

    描述:显示在所有CN上的作业执行结束时的算子信息。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_operator_statistics()

    描述:显示在所有CN上正在执行的作业的算子信息。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_session_history()

    描述:显示在所有CN上缓存的作业执行结束时的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该信息会被定时清理,清理周期为3分钟。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_session_info()

    描述:显示在所有CN上缓存的作业执行结束时的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_wlm_session_info_bytime(tag text, begin timestamp, end timestamp, limit int)

    描述:显示在所有CN上开始或者结束时间位于某个时间区间的作业的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该函数只有sysadmin权限的用户可以执行。

    参数说明:tag - 只能为‘start_time’或‘finish_time’,表明查询限制的是作业的开始时间还是结束时间。

    begin - 时间段的开始时间。

    end - 时间段的结束时间。

    limit - 返回结果的条数。

    返回值类型:record

  • pgxc_get_wlm_session_statistics()

    描述:显示在所有CN上正在执行的作业的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该函数只有sysadmin权限的用户可以执行。

    返回值类型:record

  • pgxc_stat_activity()

    描述:显示当前集群下所有CN的当前用户查询相关的信息,该函数仅具有sysadmin或者Monitor admin权限的用户可以执行,普通用户可查看本用户的相关信息。

    返回值类型:record

    名称

    类型

    描述

    coorname

    text

    当前集群下的CN名称。

    datid

    oid

    用户会话在后台连接到的数据库OID。

    datname

    text

    用户会话在后台连接到的数据库名称。

    pid

    bigint

    后台线程ID。

    sessionid

    bigint

    会话ID。

    usesysid

    oid

    登录该后台的用户OID。

    usename

    text

    登录该后台的用户名。

    application_name

    text

    连接到该后台的应用名。

    client_addr

    inet

    连接到该后台的客户端的IP地址。如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。

    client_hostname

    text

    客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。

    client_port

    integer

    客户端用于与后台通讯的TCP端口号,如果使用Unix套接字,则为-1。

    backend_start

    timestamp with time zone

    该过程开始的时间,即当客户端连接服务器的时间。

    xact_start

    timestamp with time zone

    启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。

    query_start

    timestamp with time zone

    开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。

    state_change

    timestamp with time zone

    上次状态改变的时间。

    waiting

    boolean

    如果后台当前正等待锁则为true。

    enqueue

    text

    语句当前排队状态。可能值是:
    • waiting in queue:表示语句在排队中。
    • 空:表示语句正在运行。

    state

    text

    该后台当前总体状态。可能值是:
    • active:后台正在执行一个查询。
    • idle:后台正在等待一个新的客户端命令。
    • idle in transaction:后台在事务中,但事务中没有语句在执行。
    • idle in transaction (aborted):后台在事务中,但事务中有语句执行失败。
    • fastpath function call:后台正在执行一个fast-path函数。
    • disabled:如果后台禁用track_activities,则报告这个状态。
    说明:

    只有系统管理员能查看到自己账户所对应的会话状态。其他账户的state信息为空。例如以judy用户连接数据库后,在pgxc_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空:

    SELECT datname, usename, usesysid, state,pid FROM pgxc_stat_activity;
     datname  | usename | usesysid | state  |       pid
    ----------+---------+----------+--------+-----------------
     postgres | omm     |       10 |        | 139968752121616
     postgres | omm     |       10 |        | 139968903116560
     db_tpcds | judy    |    16398 | active | 139968391403280
     postgres | omm     |       10 |        | 139968643069712
     postgres | omm     |       10 |        | 139968680818448
     postgres | joe     |    16390 |        | 139968563377936
    (6 rows)

    resource_pool

    name

    用户使用的资源池。

    query_id

    bigint

    查询语句的ID。

    query

    text

    该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。

    global_sessionid

    text

    全局会话ID。

    unique_sql_id

    bigint

    语句的unique sql id。

    trace_id

    text

    驱动传入的trace id,与应用的一次请求相关联。

  • pgxc_stat_activity_with_conninfo()

    描述:显示当前集群下所有CN的当前用户查询相关的信息,返回值定义参考pgxc_stat_activity视图。该函数仅具有sysadmin或者Monitor admin权限的用户可以执行,普通用户只能查看本用户相关的信息。

    返回值类型:record

  • pgxc_stat_all_tables()

    描述:显示各节点数据中每个表(包括TOAST表)的一行的统计信息,该函数仅具有sysadmin或者Monitor admin权限的用户可以执行。

    返回值类型:record

  • pgxc_get_thread_wait_status()

    描述:查看集群各个节点上所有SQL语句产生的线程之间的调用层次关系,以及各个线程的阻塞等待状态。

    返回值类型:record

  • pgxc_wlm_get_workload_records()

    描述:显示在所有CN上正在执行的作业的状态信息。需要系统管理员权限才可以执行该函数。

    返回值类型:record

  • pv_session_memory

    描述:统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存。

    若GUC参数enable_memory_limit=off,该函数不能使用。

    返回值类型:record

    表2 返回值说明

    名称

    类型

    描述

    sessid

    text

    线程启动时间+线程标识。

    init_mem

    integer

    当前正在执行作业进入执行器前已分配的内存,单位MB。

    used_mem

    integer

    当前正在执行作业已分配的内存,单位MB。

    peak_mem

    integer

    当前正在执行作业已分配的内存峰值,单位MB。

  • dbe_perf.gs_stat_activity_timeout(int)

    描述:获取当前节点上执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。

    返回值类型:setof record

    名称

    类型

    描述

    database

    name

    用户会话连接的数据库名称。

    pid

    bigint

    后台线程ID。

    sessionid

    bigint

    会话ID。

    usesysid

    oid

    登录该后台的用户OID。

    application_name

    text

    连接到该后台的应用名。

    query

    text

    该后台正在执行的查询。

    xact_start

    timestamptz

    启动当前事务的时间。

    query_start

    timestamptz

    开始当前查询的时间。

    query_id

    bigint

    查询语句ID。

  • dbe_perf.global_stat_activity_timeout(int)

    描述:获取当前系统(所有CN)中执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。

    返回值类型:setof record

    名称

    类型

    描述

    nodename

    text

    用户会话连接的coordinate node的名称。

    database

    name

    用户会话连接的数据库名称。

    pid

    bigint

    后台线程ID。

    sessionid

    bigint

    会话ID。

    usesysid

    oid

    登录该后台的用户OID。

    application_name

    text

    连接到该后台的应用名。

    query

    text

    该后台正在执行的查询。

    xact_start

    timestamptz

    启动当前事务的时间。

    query_start

    timestamptz

    开始当前查询的时间。

    query_id

    bigint

    查询语句ID。

  • dbe_perf.get_average_value()

    描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。

    返回值类型:record

  • DBE_PERF.get_global_active_session()

    描述:显示所有节点上的ATIVE SESSION PROFILE内存中的样本的汇总。

    返回值类型:record

  • DBE_PERF.get_global_os_runtime()

    描述:显示当前操作系统运行的状态信息,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_os_threads()

    描述:提供整个集群中所有正常节点下的线程状态信息,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_os_threads()

    描述:提供整个集群中所有正常节点下的线程状态信息,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_workload_sql_count()

    描述:提供整个集群中不同负载SELECT,UPDATE,INSERT,DELETE,DDL, DML,DCL计数信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_workload_sql_elapse_time()

    描述:提供整个集群中不同负载SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_workload_transaction()

    描述:获取集群内所有节点上的事务量信息,事务时间信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_session_stat()

    描述:获取集群内所有节点上的会话状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

    状态信息有如下17项,commit,rollback,sql,table_scan,blocks_fetched,physical_read_operation,

    shared_blocks_dirtied,local_blocks_dirtied,shared_blocks_read,local_blocks_read,

    blocks_read_time,blocks_write_time,sort_imemory,sort_idisk,cu_mem_hit,

    cu_hdd_sync_read,cu_hdd_asyread

  • DBE_PERF.get_global_session_time()

    描述:提供整个集群各节点各个关键阶段的时间消耗。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_session_memory()

    描述:汇聚各节点的Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存,单位为MB。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_session_memory_detail()

    描述:汇聚各节点的线程的内存使用情况,以MemoryContext节点来统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_session_stat_activity()

    描述:汇聚集群内各节点上正在运行的线程相关的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_thread_wait_status()

    描述:汇聚所有节点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_wlm_controlgroup_ng_config()

    描述:数据库内所有的控制组信息。集群创建后的默认情况下,查询该函数必须具有sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_wlm_workload_runtime()

    描述:汇聚当前用户在每个CN上执行作业时在CN上的状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_operator_ec_history()

    描述:汇聚当前用户在每个CN上EC算子的历史状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_operator_ec_history_table()

    描述:汇聚当前用户在每个CN上EC算子的历史状态信息(持久化)。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_operator_ec_runtime()

    描述:汇聚当前用户在每个CN上EC算子的实时状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_operator_history_table()

    描述:汇聚当前用户所有CN上执行作业结束后的算子相关记录(持久化)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_operator_history()

    描述:汇聚当前用户所有CN上执行作业结束后的算子相关记录。集群创建后的默认情况下,查询该函数必须具有monadminsysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_operator_runtime()

    描述:汇聚当前用户所有CN上执行作业实时的算子相关记录。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statement_complex_history()

    描述:汇聚当前用户所有CN节点上复杂查询的历史记录。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statement_complex_history_table()

    描述:汇聚当前用户所有CN节点上复杂查询的历史记录(持久化)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statement_complex_runtime()

    描述:汇聚当前用户所有CN节点上复杂查询的实时信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_memory_node_detail()

    描述:汇聚某个数据库在所有节点上的内存使用情况。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_shared_memory_detail()

    描述:汇聚所有节点已产生的共享内存上下文的使用信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_comm_delay()

    描述:汇聚所有DN节点的通信库时延状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_comm_recv_stream()

    描述:汇聚所有DN节点的通信库接收流状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_comm_send_stream()

    描述:汇聚所有DN节点的通信库发送流状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_comm_status()

    描述:汇聚所有DN节点的通信库状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_all_indexes

    描述:汇聚所有节点当前数据库中的索引信息及I/O统计量。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_local_toastname_and_toastindexname()

    描述:提供本地toast表的name和index和其关联表的对应关系。

    返回值类型:record

  • DBE_PERF.get_summary_statio_all_indexes

    描述:统计所有节点当前数据库中的每个索引行,显示特定索引的I/O的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_all_sequences

    描述:提供命名空间中所有sequences的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_all_tables

    描述:汇聚各节点的数据库中每个表I/O的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_statio_all_tables

    描述:统计集群内数据库中每个表I/O的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_local_toast_relation()

    描述:提供本地toast表的name和其关联表的对应关系。

    返回值类型:record

  • DBE_PERF.get_global_statio_sys_indexes()

    描述:汇聚各节点的命名空间中所有系统表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_statio_sys_indexes()

    描述:统计各节点的命名空间中所有系统表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_sys_sequences()

    描述:提供命名空间中所有系统表为sequences的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_sys_tables()

    描述:提供各节点的命名空间中所有系统表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_statio_sys_tables()

    描述:集群内汇聚命名空间中所有系统表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_user_indexes()

    描述:各节点的命名空间中所有用户关系表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_statio_user_indexes()

    描述:集群内汇聚命名空间中所有用户关系表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_user_sequences()

    描述:显示各节点的命名空间中所有用户的sequences的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_user_tables()

    描述:显示各节点的命名空间中所有用户关系表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_statio_user_tables()

    描述:集群内汇聚命名空间中所有用户关系表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_stat_db_cu()

    描述:视图查询集群各个节点,每个数据库的CU命中情况。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_dn_stat_all_tables()

    描述:汇聚DN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_cn_stat_all_tables()

    描述:汇聚CN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_dn_stat_all_tables()

    描述:统计DN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_cn_stat_all_tables()

    描述:统计CN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_all_indexes()

    描述:汇聚所有节点数据库中每个索引的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_all_indexes()

    描述:统计所有节点数据库中每个索引的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_sys_tables()

    描述:汇聚各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_sys_tables()

    描述:统计各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_sys_indexes()

    描述:汇聚各节点pg_catalog、information_schema模式中所有系统表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_sys_indexes()

    描述:统计各节点pg_catalog、information_schema模式中所有系统表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_user_tables()

    描述:汇聚所有命名空间中用户自定义普通表的状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_user_tables()

    描述:统计所有命名空间中用户自定义普通表的状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_user_indexes()

    描述:汇聚所有数据库中用户自定义普通表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_user_indexes()

    描述:统计所有数据库中用户自定义普通表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_database()

    描述:汇聚所有节点数据库统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_database_conflicts()

    描述:统计所有节点数据库统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_xact_all_tables()

    描述:汇聚命名空间中所有普通表和toast表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_xact_all_tables()

    描述:统计命名空间中所有普通表和toast表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_xact_sys_tables()

    描述:汇聚所有节点命名空间中系统表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_xact_sys_tables()

    描述:统计所有节点命名空间中系统表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_xact_user_tables()

    描述:汇聚所有节点命名空间中用户表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_stat_xact_user_tables()

    描述:统计所有节点命名空间中用户表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_user_functions()

    描述:汇聚所有节点命名空间中用户定义函数的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_xact_user_functions()

    描述:统计所有节点命名空间中用户定义函数的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_stat_bad_block()

    描述:汇聚所有节点表、索引等文件的读取失败信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_file_redo_iostat()

    描述:统计所有节点表、索引等文件的读取失败信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_file_iostat()

    描述:汇聚所有节点数据文件IO的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_locks()

    描述:汇聚所有节点的锁信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_replication_slots()

    描述:汇聚所有节点上逻辑复制信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_bgwriter_stat()

    描述:汇聚所有节点后端写进程活动的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_replication_stat()

    描述:汇聚各节点日志同步状态信息,如发起端发送日志位置,收端接收日志位置等。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_pooler_status()

    描述:汇聚所有CN节点的pooler中的缓存连接状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_transactions_running_xacts()

    描述:汇聚各节点运行事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_transactions_running_xacts()

    描述:统计各节点运行事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_transactions_prepared_xacts()

    描述:汇聚各节点当前准备好进行两阶段提交的事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_transactions_prepared_xacts()

    描述:统计各节点当前准备好进行两阶段提交的事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_statement()

    描述:汇聚各节点历史执行语句状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_statement_count()

    描述:汇聚各节点SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_config_settings()

    描述:汇聚各节点GUC参数配置信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_wait_events()

    描述:汇聚各节点wait events状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_statement_responsetime_percentile()

    描述:获取集群SQL响应时间P80,P95分布信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_summary_user_login()

    描述:统计集群各节点用户登入登出次数信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.get_global_record_reset_time()

    描述:汇聚集群统计信息重置(重启,主备倒换,数据库删除)时间。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • DBE_PERF.track_memory_context(context_list text)

    描述:设置需要统计内存申请详细信息的内存上下文。入参为内存上下文的名称,使用“,”分隔,如“ThreadTopMemoryContext, SessionCacheMemoryContext”,注意该内存上下文名称是上下文敏感的。此外,单个内存上下文的长度为63,超过的部分会被截断。而且一次能够统计的内存上下文上限为16个,设置超过16个内存上下文会设置失败。每一次调用该函数都会将上次统计的结果清空,当入参指定为“”时,表示取消该统计功能。只有初始用户或者具有monadmin权限的用户可以执行该函数。

    返回值类型:boolean

  • DBE_PERF.track_memory_context_detail()

    描述:获取DBE_PERF.track_memory_context函数指定的内存上下文的内存申请详细信息。返回值的定义见视图DBE_PERF.track_memory_context_detail。只有初始用户或者具有monadmin权限的用户可以执行该函数。

    返回值类型:record

  • DBE_PERF.global_io_wait_info()

    描述:查询所有CN和DN节点上的IO管控的实时统计信息。

    返回值类型:record

  • pg_stat_get_mem_mbytes_reserved(tid)

    描述:统计资源管理相关变量值,仅用于定位问题使用。

    参数:线程id。

    返回值类型:text

  • gs_wlm_user_resource_info(name text)

    描述:查询具体某个用户的资源限额和资源使用情况。普通用户只能查询到自己相关的信息,管理员权限的用户可以查看全部用户的信息。

    返回值类型:record

  • pg_stat_get_file_stat()

    描述:通过对数据文件IO的统计,反映数据的IO性能,用以发现IO操作异常等性能问题。

    返回值类型:record

  • pg_stat_get_redo_stat()

    描述:用于统计会话线程日志回放情况。

    返回值类型:record

  • pg_stat_get_status(int8)

    描述:可以检测当前实例中工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。

    返回值类型:record

  • get_local_rel_iostat()

    描述:查询当前节点的数据文件IO状态累计值。

    返回值类型:record

  • DBE_PERF.get_global_rel_iostat()

    描述:汇聚所有节点数据文件IO的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。

    返回值类型:record

  • pg_catalog.plancache_status()

    描述:显示在当前节点上的全局计划缓存的状态信息。函数返回信息和GLOBAL_PLANCACHE_STATUS一致。

    返回值类型:record

  • DBE_PERF.global_plancache_status()

    描述:显示在所有节点上的全局计划缓存的状态信息。函数返回信息见字段GLOBAL_PLANCACHE_STATUS

    返回值类型:record

  • pg_catalog.prepare_statement_status()(废弃)

    描述:显示在当前节点上的prepare statement状态信息。函数返回信息和

    GLOBAL_PREPARE_STATEMENT_STATUS(废弃)一致。

    返回值类型:record

  • DBE_PERF.global_prepare_statement_status()(废弃)

    描述:显示在所有节点上的prepare statement的状态信息。函数返回信息见字段GLOBAL_PREPARE_STATEMENT_STATUS(废弃)

    返回值类型:record

  • DBE_PERF.global_threadpool_status()

    描述:显示在所有节点上的线程池中工作线程及会话的状态信息。函数返回信息见字段18.7.14-表 GLOBAL_THREADPOOL_STATUS

    返回值类型:record

  • comm_check_connection_status

    描述:返回该CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,普通用户可使用。

    参数:nan

    返回值类型:node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, no_error_occur boolean

  • DBE_PERF.global_comm_check_connection_status

    描述:返回所有CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,权限控制继承DBE_PERF schema。

    参数:nan

    返回值类型:node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, no_error_occur boolean

  • create_wlm_instance_statistics_info

    描述:将当前实例的历史监控数据进行持久化保存。

    参数:nan

    返回值类型:integer

  • remote_candidate_stat()

    描述:显示本实例的候选buffer链中页面个数,buffer淘汰信息,包含normal buffer pool和segment buffer pool。

    返回值类型:record

    表3 remote_candidate_stat参数说明

    名称

    类型

    描述

    node_name

    text

    节点名称。

    candidate_slots

    integer

    当前Normal Buffer Pool候选buffer链中页面个数。

    get_buf_from_list

    bigint

    Normal Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。

    get_buf_clock_sweep

    bigint

    Normal Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。

    seg_candidate_slots

    integer

    当前Segment Buffer Pool候选buffer链中页面个数。

    seg_get_buf_from_list

    bigint

    Segment Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。

    seg_get_buf_clock_sweep

    bigint

    Segment Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。

  • remote_ckpt_stat()

    描述:用于显示整个集群所有实例的检查点信息和各类日志刷页情况(本节点除外、DN上不可使用)。

    返回值类型:record

    表4 remote_ckpt_stat参数说明

    参数

    类型

    描述

    node_name

    text

    实例名称。

    ckpt_redo_point

    text

    当前实例的检查点。

    ckpt_clog_flush_num

    int8

    从启动到当前时间clog刷盘页面数。

    ckpt_csnlog_flush_num

    int8

    从启动到当前时间csnlog刷盘页面数。

    ckpt_multixact_flush_num

    int8

    从启动到当前时间multixact刷盘页面数。

    ckpt_predicate_flush_num

    int8

    从启动到当前时间predicate刷盘页面数。

    ckpt_twophase_flush_num

    int8

    从启动到当前时间twophase刷盘页面数。

  • remote_double_write_stat()

    描述:显示整个集群所有实例的双写文件的情况(本节点除外、DN上不可使用)。

    返回值类型:record

    表5 remote_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号。

  • remote_single_flush_dw_stat()

    描述:显示整个集群所有实例的单页面淘汰双写文件的情况(本节点除外、DN上不可使用)。

    返回值类型:record

    表6 remote_single_flush_dw_stat参数说明

    参数

    类型

    描述

    node_name

    text

    实例名称。

    curr_dwn

    integer

    当前双写文件的序列号。

    curr_start_page

    integer

    当前双写文件start位置。

    total_writes

    bigint

    当前双写文件总计写数据页面个数。

    file_trunc_num

    bigint

    当前双写文件复用的次数。

    file_reset_num

    bigint

    当前双写文件写满后发生重置的次数。

  • remote_pagewriter_stat()

    描述:显示整个集群所有实例的刷页信息和检查点信息(本节点除外、DN上不可使用)。

    返回值类型:record

    表7 remote_pagewriter_stat参数说明

    参数

    类型

    描述

    node_name

    text

    实例名称。

    pgwr_actual_flush_total_num

    int8

    从启动到当前时间总计刷脏页数量。

    pgwr_last_flush_num

    int4

    上一批刷脏页数量。

    remain_dirty_page_num

    int8

    当前预计还剩余多少脏页。

    queue_head_page_rec_lsn

    text

    当前实例的脏页队列第一个脏页的recovery_lsn。

    queue_rec_lsn

    text

    当前实例的脏页队列的recovery_lsn。

    current_xlog_insert_lsn

    text

    当前实例XLog写入的位置。

    ckpt_redo_point

    text

    当前实例的检查点。

  • remote_recovery_status()

    描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。

    返回值类型:record

    表8 remote_recovery_status参数说明

    参数

    类型

    描述

    node_name

    text

    节点的名称,包含主机和备机。

    standby_node_name

    text

    备机名称。

    source_ip

    text

    主机的IP地址。

    source_port

    int4

    主机的端口号。

    dest_ip

    text

    备机的IP地址。

    dest_port

    int4

    备机的端口号。

    current_rto

    int8

    备机当前的日志流控时间,单位秒。

    target_rto

    int8

    备机通过GUC参数设置的预期流控时间,单位秒。

    current_sleep_time

    int8

    为了达到这个预期主机所需要的睡眠时间,单位微秒。

  • remote_rto_status()

    描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。

    返回值类型:record

    表9 remote_rto_status参数说明

    参数

    类型

    描述

    node_name

    text

    节点的名称,包含主机和备机。

    rto_info

    text

    流控的信息,包含了备机当前的日志流控时间(单位:秒),备机通过GUC参数设置的预期流控时间(单位:秒),为了达到这个预期主机所需要的睡眠时间(单位:微秒)。

  • remote_redo_stat()

    描述:显示整个集群所有实例的日志回放情况(本节点除外、DN上不可使用)。

    返回值类型:record

    表10 remote_redo_stat参数说明

    参数

    类型

    描述

    node_name

    text

    实例名称。

    redo_start_ptr

    int8

    当前实例日志回放的起始点。

    redo_start_time

    int8

    当前实例日志回放的起始UTC时间。

    redo_done_time

    int8

    当前实例日志回放的结束UTC时间。

    curr_time

    int8

    当前实例的当前UTC时间。

    min_recovery_point

    int8

    当前实例日志的最小一致性点位置。

    read_ptr

    int8

    当前实例日志的读取位置。

    last_replayed_read_ptr

    int8

    当前实例的日志回放位置。

    recovery_done_ptr

    int8

    当前实例启动完成时的回放位置。

    read_xlog_io_counter

    int8

    当前实例读取回放日志的io次数计数。

    read_xlog_io_total_dur

    int8

    当前实例读取回放日志的io总时延。

    read_data_io_counter

    int8

    当前实例回放过程中读取数据页面的io次数计数。

    read_data_io_total_dur

    int8

    当前实例回放过程中读取数据页面的io总时延。

    write_data_io_counter

    int8

    当前实例回放过程中写数据页面的io次数计数。

    write_data_io_total_dur

    int8

    当前实例回放过程中写数据页面的io总时延。

    process_pending_counter

    int8

    当前实例回放过程中日志分发线程的同步次数计数。

    process_pending_total_dur

    int8

    当前实例回放过程中日志分发线程的同步总时延。

    apply_counter

    int8

    当前实例回放过程中回放线程的同步次数计数。

    apply_total_dur

    int8

    当前实例回放过程中回放线程的同步总时延。

    speed

    int8

    当前实例日志回放速率。

    local_max_ptr

    int8

    当前实例启动成功后本地收到的回放日志的最大值。

    primary_flush_ptr

    int8

    主机落盘日志的位置。

    worker_info

    text

    当前实例回放线程信息,若没有开并行回放则该值为空。

  • PGXC_GTM_SNAPSHOT_STATUS()

    描述:用于查看当前GTM上事务信息,仅在GTM模式下支持本系统函数,GTM-LITE和GTM-FREE模式下不支持。

    返回值类型:record

    函数返回字段描述如下:
    表11 PGXC_GTM_SNAPSHOT_STATUS返回参数说明

    名称

    类型

    描述

    xmin

    xid

    仍在运行的最小事务号。

    xmax

    xid

    已完成的所有事务号中最大事务号的下一个事务号。

    csn

    integer

    待提交事务的序列号。

    oldestxmin

    xid

    当前最早的活跃事务在其取快照时,所有运行事务号最小的事务。

    xcnt

    integer

    当前活跃的事务个数。

    running_xids

    text

    当前活跃的事务号。

  • pg_stat_get_partition_tuples_hot_updated

    描述:返回给定分区id的分区热更新元组数的统计。

    参数:oid

    返回值类型:bigint

  • pv_os_run_info

    描述:显示当前操作系统运行的状态信息,具体字段信息参考PV_OS_RUN_INFO

    参数:nan

    返回值类型:setof record

  • pv_session_stat

    描述:以会话线程或AutoVacuum线程为单位,统计会话状态信息,具体字段信息参考PV_SESSION_STAT

    参数:nan

    返回值类型:setof record

  • pv_session_time

    描述:用于统计会话线程的运行时间信息,及各执行阶段所消耗时间,具体字段信息参考PV_SESSION_TIME

    参数:nan

    返回值类型:setof record

  • pg_stat_get_db_temp_bytes

    描述:用于统计通过数据库查询写入临时文件的数据总量。计算所有临时文件,不论为什么创建临时文件,而且不管log_temp_files设置。

    参数:oid

    返回值类型:bigint

  • pg_stat_get_db_temp_files

    描述:通过数据库查询创建的临时文件数量。计算所有临时文件,不论为什么创建临时文件(比如排序或者哈希),而且不管log_temp_files设置。

    参数:oid

    返回值类型:bigint

  • local_redo_time_count()

    描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。

    返回值如下:
    表12 local_redo_time_count返回参数说明

    字段名

    描述

    thread_name

    线程名字

    step1_total

    step1的总时间,每个线程对应的流程如下:

    极致RTO:

    • batch redo:从队列中获取一条日志
    • redo manager:从队列中获取一条日志
    • redo worker:从队列中获取一条日志
    • trxn manager:从队列中读取一条日志
    • trxn worker:从队列中读取一条日志
    • read worker:从文件中读取一次xlog page(整体)
    • read page worker:从队列中获取一个日志
    • startup:从队列中获取一个日志

    并行回放:

    • page redo:从队列中获取一条日志
    • startup:读取一条日志

    step1_count

    step1的统计次数

    step2_total

    step2的总时间,每个线程对应的流程如下:

    极致RTO:

    • batch redo:处理日志(整体)
    • redo manager:处理日志(整体)
    • redo worker:处理日志(整体)
    • trxn manager:处理日志(整体)
    • trxn worker:处理日志(整体)
    • redo worker:读取xlog page耗时
    • read page worker:生成和发送lsn forwarder
    • startup:check stop(是否回放到指定位置)

    并行回放:

    page redo:处理日志(整体)

    startup:check stop(是否回放到指定位置)

    step2_count

    step2的统计次数

    step3_total

    step3的总时间,每个线程对应的流程如下:

    极致RTO:

    • batch redo:更新standbystate
    • redo manager:数据日志处理
    • redo worker:回放page也日志(整体)
    • trxn manager:更新flush lsn
    • trxn worker:回放日志处理
    • redo worker:推进xlog segment
    • read page worker:获取一个新的item
    • startup:redo delay(延迟回放特性等待时间)

    并行回放:

    • page redo:更新standbystate
    • startup:redo delay(延迟回放特性等待时间)

    step3_count

    step3的统计次数

    step4_total

    step4的总时间,每个线程对应的流程如下:

    极致RTO:

    • batch redo:解析xlog
    • redo manager:DDL处理
    • redo worker:读取数据page页
    • trxn manager:同步等待时间
    • trxn worker:更新本线程lsn
    • read page worker:将日志放入分发线程
    • startup:分发(整体)

    并行回放:

    • page redo:undo 日志回放
    • startup:分发(整体)

    step4_count

    step4的统计次数

    step5_total

    step5的总时间,每个线程对应的流程如下:

    极致RTO:

    • batch redo:分发给redo manager
    • redo manager:分发给redo worker
    • redo worker:回放数据page页的日志
    • trxn manager:分发给trxn worker
    • trxn worker:强同步wait时间
    • read page worker:更新本线程lsn
    • startup:日志decode

    并行回放:

    • page redo:sharetrxn 日志回放
    • startup:日志回放

    step5_count

    step5的统计次数

    step6_total

    step6的总时间,每个线程对应的流程如下:

    极致RTO:

    • redo worker:回放非数据页page日志
    • trxn manager:全局lsn更新
    • read page worker:日志crc校验

    并行回放:

    • page redo:synctrxn 日志回放
    • startup:强同步等待

    step6_count

    step6的统计次数

    step7_total

    step7的总时间,每个线程对应的流程如下:

    极致RTO:

    • redo manager:创建表空间
    • redo worker:fsm更新

    并行回放:

    page redo:single 日志回放

    step7_count

    step7的统计次数

    step8_total

    step8的总时间,每个线程对应的流程如下:

    极致RTO:

    redo worker:强同步等待

    并行回放:

    page redo:all workers do 日志回放

    step8_count

    step8的统计次数

    step9_total

    step9的总时间,每个线程对应的流程如下:

    极致RTO:

    并行回放:

    page redo:muliti workers do 日志回放

    step9_count

    step9的统计次数

  • local_xlog_redo_statics()

    描述:返回本节点已经回放的各个类型的日志统计信息(仅在备机上有有效数据)。

    返回值如下:
    表13 local_xlog_redo_statics返回参数说明

    字段名

    描述

    xlog_type

    日志类型

    rmid

    resource manager id

    info

    xlog operation

    num

    日志个数

    extra

    针对page回放日志和xact日志有有效值。page页回放日志类型表示从磁盘读取page的个数。xact日志类型表示删除文件的个数。

  • remote_bgwriter_stat()

    描述:显示整个集群所有实例的bgwriter线程刷页信息,候选buffer链中页面个数,buffer淘汰信息(本节点除外、DN上不可使用)。

    返回值类型:record

    表14 remote_bgwriter_stat参数说明

    参数

    类型

    描述

    node_name

    text

    实例名称。

    bgwr_actual_flush_total_num

    bigint

    从启动到当前时间bgwriter线程总计刷脏页数量。

    bgwr_last_flush_num

    integer

    bgwriter线程上一批刷脏页数量。

    candidate_slots

    integer

    当前候选buffer链中页面个数。

    get_buffer_from_list

    bigint

    buffer淘汰从候选buffer链中获取页面的次数。

    get_buf_clock_sweep

    bigint

    buffer淘汰从原淘汰方案中获取页面的次数。

    示例:

    pg_backend_pid函数显示当前后台服务线程ID。

    1
    2
    3
    4
    5
    openGauss=# SELECT pg_backend_pid();
     pg_backend_pid  
    -----------------
     139706243217168
    (1 row)
    

    pg_stat_get_backend_pid函数显示后台线程ID。

    1
    2
    3
    4
    5
    openGauss=# SELECT pg_stat_get_backend_pid(1);
     pg_stat_get_backend_pid 
    -------------------------
             139706243217168
    (1 row)
    
  • gs_stack()

    描述:显示线程调用栈。查询该函数需要有sysadmin权限或者monadmin权限。

    参数:tid,线程id。tid是可选参数,指定tid参数时,函数返回tid对应线程调用栈;当不指定tid参数时,函数返回所有线程的调用栈。

    返回值:当指定tid时,返回值为text;当不指定tid时,返回值为setof record。

    示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    openGauss=# SELECT gs_stack(139663481165568);
                                  gs_stack
    --------------------------------------------------------------------
     __poll + 0x2d                                                     +
     WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f        +
     WaitLatch(Latch volatile*, int, long) + 0x2e                      +
     JobScheduleMain() + 0x90f                                         +
     int GaussDbThreadMain<(knl_thread_role)9>(knl_thread_arg*) + 0x456+
     InternalThreadFunc(void*) + 0x2d                                  +
     ThreadStarterFunc(void*) + 0xa4                                   +
     start_thread + 0xc5                                               +
     clone + 0x6d                                                      +
    (1 row)