文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

支持的版本:

其他版本:

统计信息函数(一)

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

  • pg_stat_get_db_conflict_tablespace(oid)

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

    返回值类型:bigint

  • pg_control_group_config

    描述:在当前节点上打印cgroup配置。

    返回值类型: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_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_priority text 同步复制的优先级。
    sync_most_available text 最大可用模式设置。
    channel text walsender信道信息。
  • get_paxos_replication_info()

    描述:查询Paxos模式下主机或备机的复制状态。

    返回值类型:setofrecord

    返回字段说明如下:

    表 2 返回字段说明

    字段名称 字段类型 字段说明
    paxos_write_location text 已经写入DCF的XLog位置。
    paxos_commit_location text 已经在DCF中达成一致的XLog位置。
    local_write_location text 节点的落盘位置。
    local_flush_location text 节点的flush磁盘位置。
    local_replay_location text 节点的redo磁盘位置。
    dcf_replication_info text 节点的DCF模块信息。
  • pg_stat_get_stream_replications()

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

    返回值类型:setofrecord

    返回值说明如下。

    表 3 返回值说明

    返回参数 返回参数类型 返回参数说明
    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和monitor admin用户可以访问。

    返回值类型:text

    示例:

    MogDB=# 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

    返回参数说明如下。

    表 4 返回参数说明

    返回参数 返回参数类型 返回参数说明
    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

    返回值参数说明如下。

    表 5 返回值参数说明

    返回参数 返回参数类型 返回参数说明
    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_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。

    返回值类型:bigint

  • pg_stat_get_activity(integer)

    描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。返回结果是PG_STAT_ACTIVITY视图中的一个子集,不包含connection_info列。

    示例:

    MogDB=# select * from pg_stat_get_activity(139754904483584);
     datid |       pid       |    sessionid    | usesysid | application_name | state |                    query                     | waiting | xact_start |          query_start          |         backend_start         |         state_cha
    nge          | client_addr | client_hostname | client_port | enqueue | query_id | srespool | global_sessionid
    -------+-----------------+-----------------+----------+------------------+-------+----------------------------------------------+---------+------------+-------------------------------+-------------------------------+------------------
    -------------+-------------+-----------------+-------------+---------+----------+----------+------------------
     16099 | 139754904483584 | 139754904483584 |       10 | coordinator2     | idle  | SET SESSION AUTHORIZATION DEFAULT;RESET ALL; | f       |            | 2021-06-09 16:40:58.391727+08 | 2021-06-09 16:03:52.040929+08 | 2021-06-09 16:40:
    58.392143+08 | ::1         |                 |       35210 |         |        0 | unknown  | 0#0#0
    (1 row)

    返回值类型: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,则这个值是上一个查询的开始时间。
    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

    返回值说明如下。

    表 7 返回值说明

    返回值 返回值类型 返回值说明
    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,则这个值是上一个查询的开始时间。
    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_user_iostat(text)

    描述:显示和当前用户执行作业正在运行时的IO负载管理相关信息。

    返回值类型:record

    函数返回字段说明如下:

    名称 类型 描述
    userid oid 用户id。
    min_curr_iops int4 当前该用户io在数据库节点中的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
    max_curr_iops int4 当前该用户io在数据库节点中的最大值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
    min_peak_iops int4 该用户io峰值中,数据库节点的最小值。对于行存,以万次/s为单位;对于列存,以次/s为单位。
    max_peak_iops int4 该用户io峰值中,数据库节点的最大值。对于行存,以万次/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

Copyright © 2011-2024 www.enmotech.com All rights reserved.