更新时间:2024-11-01 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)

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

    返回值类型:bigint

  • pg_lock_status()

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

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

  • pg_stat_get_wal_senders()

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

    返回值类型:setofrecord

    返回字段说明如下:

    表1 返回字段说明

    字段名称

    字段类型

    字段说明

    pid

    bigint

    walsender的线程号。

    sender_pid

    integer

    walsender的pid相对的轻量级线程号。

    local_role

    text

    主节点类型。

    peer_role

    text

    备节点类型。

    peer_state

    text

    备节点状态。

    state

    text

    walsender状态。

    catchup_start

    timestamp with time zone

    catchup启动时间。

    catchup_end

    timestamp with time zone

    catchup结束时间。

    sender_sent_location

    text

    主节点发送位置。

    sender_write_location

    text

    主节点落盘位置。

    sender_flush_location

    text

    主节点flush磁盘位置。

    sender_replay_location

    text

    主节点redo位置。

    receiver_received_location

    text

    备节点接收位置。

    receiver_write_location

    text

    备节点落盘位置。

    receiver_flush_location

    text

    备节点flush磁盘位置。

    receiver_replay_location

    text

    备节点redo磁盘位置。

    sync_percent

    text

    同步百分比。

    sync_state

    text

    同步状态。

    sync_group

    text

    同步复制的所属分组。

    sync_priority

    text

    同步复制的优先级。

    sync_most_available

    text

    最大可用模式设置。

    channel

    text

    walsender信道信息。

  • pgxc_get_senders_catchup_time()

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

    返回值类型:setofrecord

  • pg_stat_get_stream_replications()

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

    返回值类型:setofrecord

    返回值说明如下:

    表2 返回值说明

    返回参数

    返回参数类型

    返回参数说明

    local_role

    text

    本地角色。

    static_connections

    integer

    连接统计。

    db_state

    text

    数据库状态。

    detail_information

    text

    详细信息。

  • 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和MONADMIN用户可以访问。

    返回值类型: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信息。

    返回值类型:setofrecord

    返回参数说明如下:

    表3 返回参数说明

    返回参数

    返回参数类型

    返回参数说明

    nodename

    name

    节点名称。

    nspname

    name

    名称空间名称。

    relname

    name

    表、索引、视图等对象名称。

    partname

    name

    分区名称。

    n_dead_tuples

    bigint

    表分区内的死行数。

    n_live_tuples

    bigint

    表分区内的活行数。

    changes_since_analyze

    bigint

    analyze产生改变的数量。

  • pg_autovac_status(oid)

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

    返回值类型:setofrecord

    返回值参数说明如下:

    表4 返回值参数说明

    返回参数

    返回参数类型

    返回参数说明

    nspname

    text

    名称空间名称。

    relname

    text

    表、索引、视图等对象名称。

    nodename

    text

    节点名称。

    doanalyze

    Boolean

    是否执行analyze。

    anltuples

    bigint

    analyze tuple数量。

    anlthresh

    bigint

    analyze阈值。

    dovacuum

    Boolean

    是否执行vacuum。

    vactuples

    bigint

    vacuum tuple数量。

    vacthresh

    bigint

    vacuum阈值。

  • 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

    返回参数说明如下:

    表5 返回参数说明

    返回参数

    返回参数类型

    返回参数说明

    datid

    oid

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

    pid

    bigint

    后台线程ID。

    sessionid

    bigint

    会话ID。

    usesysid

    oid

    登录该后台的用户OID。

    application_name

    text

    连接到该后台的应用名。

    state

    text

    该后台当前总体状态。

    query

    text

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

    waiting

    Boolean

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

    xact_start

    timestamp with time zone

    启动当前事务的时间,如果没有事务是活跃的,则为null。

    如果当前查询是首个事务,则这列等同于query_start列。

    query_start

    timestamp with time zone

    开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。如果是存储过程、函数、PACKAGE,则查询的是第一个查询时间,不会随着存储过程内语句运行而改变。

    backend_start

    timestamp with time zone

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

    state_change

    timestamp with time zone

    上次状态改变的时间。

    client_addr

    inet

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

    client_hostname

    text

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

    client_port

    integer

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

    enqueue

    text

    该字段暂不支持。

    query_id

    bigint

    查询语句的ID。

    srespool

    name

    资源池名字。

    global_sessionid

    text

    全局会话id。

    unique_sql_id

    bigint

    语句的unique sql id。

    trace_id

    text

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

  • pg_stat_get_activity_with_conninfo(integer)

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

    返回值类型:setofrecord

    返回值说明如下:

    表6 返回值说明

    返回值

    返回值类型

    返回值说明

    datid

    oid

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

    pid

    bigint

    后台线程ID。

    sessionid

    bigint

    会话ID。

    usesysid

    oid

    登录该后台的用户OID。

    application_name

    text

    连接到该后台的应用名。

    state

    text

    改后台当前总体状态。

    query

    text

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

    waiting

    Boolean

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

    xact_start

    timestamp with time zone

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

    query_start

    timestamp with time zone

    开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。如果是存储过程、函数、PACKAGE,则查询的是第一个查询时间,不会随着存储过程内语句运行而改变。

    backend_start

    timestamp with time zone

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

    state_change

    timestamp with time zone

    上次状态改变的时间。

    client_addr

    inet

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

    client_hostname

    text

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

    client_port

    integer

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

    enqueue

    text

    该字段暂不支持。

    query_id

    bigint

    查询语句的ID。

    connection_info

    text

    json格式字符串,记录当前连接数据库的驱动类型、驱动版本号、当前驱动的部署路径、进程属主用户等信息。

    srespool

    name

    资源池名字。

    global_sessionid

    text

    全局会话ID。

    unique_sql_id

    bigint

    语句的unique sql id。

    trace_id

    text

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

  • pg_stat_get_activity_ng(integer)

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

    返回值类型:setofrecord

    函数返回字段说明如下:

    名称

    类型

    描述

    datid

    oid

    数据库oid。

    pid

    biginit

    后端线程的ID。

    sessionid

    biginit

    会话的id。

    node_group

    text

    数据所属用户对应的Node group。

  • 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和MONADMIN可以执行。

    返回值类型: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_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(integer)

    描述:查看本地UDF Master和Work进程数。入参为1时查看master线程数,入参为2时查看worker线程数,入参为3时终止所有worker线程。

    返回值类型:text

  • 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)

    描述:提供了所有Node group的控制组信息。该函数在调用的时候需要指定要查询Node group的名称。

    例如要查询'installationNode group的控制组信息:
    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)

    描述:得到一个Node group中所有数据库包含的用户表数目。

    返回值类型:integer

  • pgxc_max_datanode_size(name)

    描述:得到一个Node group的所有DN节点中数据库文件占用磁盘空间的最大值,单位为字节。

    返回值类型:bigint

  • gs_check_logic_cluster_consistency()

    描述:检查当前系统中所有Node group是否存在系统信息不一致的情况,如果返回空记录,表示不存在不一致情况;否则,Node group中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

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

    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权限或者MONADMIN权限。

    返回值类型:record

  • get_instr_wait_event(integer)

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

    返回值类型:record

  • get_instr_user_login()

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

    返回值类型:record

  • get_instr_rt_percentile(integer)

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

    返回值类型:record

  • get_node_stat_reset_time()

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

    返回值类型:record

  • gs_paxos_stat_replication()

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

  • get_paxos_replication_info()

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

  • gs_total_nodegroup_memory_detail

    描述:返回当前数据库Node group使用内存的信息,单位为MB。

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

    返回值类型:setof record

    表7 返回值说明

    名称

    类型

    描述

    ngname

    text

    Node group名称。

    memorytype

    text

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

    memorymbytes

    integer

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

  • gs_io_wait_status()

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

    返回值类型:setof record

    名称

    类型

    描述

    node_name

    text

    节点名称。

    device_name

    text

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

    read_per_second

    float

    读完成每秒次数。

    write_per_second

    float

    写完成每秒次数。

    write_ratio

    float

    写磁盘占总的I/O使用的比例。

    io_util

    float

    每秒I/O所占CPU总时间的百分比。

    total_io_util

    integer

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

    tick_count

    integer

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

    io_wait_list_len

    integer

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

  • gs_get_shared_memctx_detail(text)

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

    返回值类型:setof record

    名称

    类型

    描述

    file

    text

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

    line

    int8

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

    size

    int8

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

  • gs_get_session_memctx_detail(text)

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

    返回值类型:setof record

    名称

    类型

    描述

    file

    text

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

    line

    int8

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

    size

    int8

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

  • gs_get_thread_memctx_detail(tid,text)

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

    返回值类型:setof record

    名称

    类型

    描述

    file

    text

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

    line

    int8

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

    size

    int8

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

  • gs_get_history_memory_detail(cstring)

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

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

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

    返回值类型: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_stat_activity()

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

    返回值类型: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或者MONADMIN权限的用户可以执行,普通用户只能查看本用户相关的信息。

    返回值类型:record

  • pgxc_stat_all_tables()

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

    返回值类型:record

  • pgxc_get_thread_wait_status()

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

    返回值类型:record

  • pv_session_memory

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

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

    返回值类型:record

    表8 返回值说明

    名称

    类型

    描述

    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

    开始当前查询的时间。如果是存储过程、函数、PACKAGE,则查询的是第一个查询时间,不会随着存储过程内语句运行而改变。

    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_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级别的内存使用情况,包含执行作业在数据节点上gaussdb线程和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_global_operator_history_table()

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

    返回值类型:record

  • DBE_PERF.get_global_operator_history()

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

    返回值类型: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和其关联表的对应关系。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record

  • DBE_PERF.get_summary_statio_all_indexes

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

    返回值类型:record

  • DBE_PERF.get_global_statio_all_sequences

    描述:提供命名空间中所有sequences的I/O状态信息。集群创建后的默认情况下,查询该函数必须具有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和其关联表的对应关系。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record

  • DBE_PERF.get_global_statio_sys_indexes()

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

    返回值类型:record

  • DBE_PERF.get_summary_statio_sys_indexes()

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

    返回值类型:record

  • DBE_PERF.get_global_statio_sys_sequences()

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

    返回值类型:record

  • DBE_PERF.get_global_statio_sys_tables()

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

    返回值类型:record

  • DBE_PERF.get_summary_statio_sys_tables()

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

    返回值类型:record

  • DBE_PERF.get_global_statio_user_indexes()

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

    返回值类型:record

  • DBE_PERF.get_summary_statio_user_indexes()

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

    返回值类型:record

  • DBE_PERF.get_global_statio_user_sequences()

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

    返回值类型:record

  • DBE_PERF.get_global_statio_user_tables()

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

    返回值类型:record

  • DBE_PERF.get_summary_statio_user_tables()

    描述:集群内汇聚命名空间中所有用户关系表的I/O状态信息。集群创建后的默认情况下,查询该函数必须具有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()

    描述:汇聚所有节点数据文件I/O的统计。集群创建后的默认情况下,查询该函数必须具有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节点上的I/O管控的实时统计信息。

    返回值类型:record

  • pg_stat_get_mem_mbytes_reserved(tid)

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

    参数:线程id。

    返回值类型:text

  • pg_stat_get_file_stat()

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

    返回值类型:record

  • pg_stat_get_redo_stat()

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

    返回值类型:record

  • pg_stat_get_status(int8)

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

    返回值类型:record

  • get_local_rel_iostat()

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

    返回值类型:record

  • DBE_PERF.get_global_rel_iostat()

    描述:汇聚所有节点数据文件I/O的统计。集群创建后的默认情况下,查询该函数必须具有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

  • remote_candidate_stat()

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

    返回值类型:record

    表9 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

    表10 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

    表11 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

    表12 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

    表13 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

    表14 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_stat()

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

    返回值类型:record

    表15 remote_rto_stat参数说明

    参数

    类型

    描述

    node_name

    text

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

    rto_info

    text

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

  • remote_redo_stat()

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

    返回值类型:record

    表16 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

    当前实例读取回放日志的I/O次数计数。

    read_xlog_io_total_dur

    int8

    当前实例读取回放日志的I/O总时延。

    read_data_io_counter

    int8

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

    read_data_io_total_dur

    int8

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

    write_data_io_counter

    int8

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

    write_data_io_total_dur

    int8

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

    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

    函数返回字段描述如下:
    表17 pgxc_gtm_snapshot_status返回参数说明

    名称

    类型

    描述

    xmin

    xid

    仍在运行的最小事务号。

    xmax

    xid

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

    csn

    integer

    待提交事务的序列号。

    oldestxmin

    xid

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

    xcnt

    integer

    当前活跃的事务个数。

    running_xids

    text

    当前活跃的事务号。

  • pg_stat_get_partition_tuples_hot_updated(oid)

    描述:返回给定分区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()

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

    返回值如下:
    表18 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()

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

    返回值如下:
    表19 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

    表20 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淘汰从原淘汰方案中获取页面的次数。

    示例:

    remote_bgwriter_stat函数显示整个集群所有实例的bgwriter线程刷页信息、候选buffer链中页面个数、buffer淘汰信息(查询结果不包含当前节点的信息,DN上不支持使用)。

    1
    2
    3
    4
    5
    6
    openGauss=# SELECT * FROM remote_bgwriter_stat();
     node_name | bgwr_actual_flush_total_num | bgwr_last_flush_num | candidate_slots | get_buffer_from_list | get_buf_clock_sweep 
    -----------+-----------------------------+---------------------+-----------------+----------------------+---------------------
     datanode2 |                           0 |                   0 |          393208 |                  665 |                   0
     datanode1 |                           0 |                   0 |          393208 |                  659 |                   0
    (2 rows)
    
  • gs_stack()

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

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

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

    示例:

    select * from gs_stack(tid)获取指定线程调用栈。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    openGauss=# select * from 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)
    
    select * from gs_stack()获取所有线程的调用栈。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    openGauss=# select * from gs_stack();
    -[ RECORD 1 ]-------------------------------------------------------------------------------------------------------
    tid   | 139670364324352
    lwtid | 308
    stack | __poll + 0x2d
          | CommWaitPollParam::caller(int (*)(pollfd*, unsigned long, int), unsigned long) + 0x34
          | int comm_socket_call<CommWaitPollParam, int (*)(pollfd*, unsigned long, int)>(CommWaitPollParam*, int (*)(pollfd*, unsigned long
    , int)) + 0x28
          | comm_poll(pollfd*, unsigned long, int) + 0xb1
          | ServerLoop() + 0x72b
          | PostmasterMain(int, char**) + 0x314e
          | main + 0x617
          | __libc_start_main + 0xf5
          | 0x55d38f8db3a7
    [ RECORD 2 ]-------------------------------------------------------------------------------------------------------
    tid   | 139664851859200
    lwtid | 520
    stack | __poll + 0x2d
          | WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f
          | SysLoggerMain(int) + 0xc86
          | int GaussDbThreadMain<(knl_thread_role)17>(knl_thread_arg*) + 0x45d
          | InternalThreadFunc(void*) + 0x2d
          | ThreadStarterFunc(void*) + 0xa4
          | start_thread + 0xc5
          | clone + 0x6d
    

相关文档