文档首页 > > 开发指南> SQL参考> 函数和操作符> 统计信息函数

统计信息函数

分享
更新时间: 2019/07/22 15:44

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

  • 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_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_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,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数等。

    返回值类型:setofrecord

  • pg_autovac_timeout(oid)

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

    返回值类型:bigint

  • pg_autovac_coordinator(oid)

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

    返回值类型:text

  • pg_backend_pid()

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

    返回值类型:integer

  • pg_stat_get_activity(integer)

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

    返回值类型:setofrecord

  • 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为单位。

  • pg_stat_get_function_calls(oid)

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

    返回值类型:bigint

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

    描述:清理当前的统计快照。

    返回值类型:void

  • pg_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, int, int, int)

    描述:获取集群一个数据库的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

  • pg_stat_get_db_cu_hdd_asyn(oid)

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

    返回值类型:bigint

  • pgxc_fenced_udf_process()

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

    返回值类型:record

  • pgxc_terminate_all_fenced_udf_process()

    描述:Kill所有的UDF Work进程。

    返回值类型:bool

  • GS_ALL_NODEGROUP_CONTROL_GROUP_INFO(text)
    描述:提供了所有逻辑集群的控制组信息。该函数在调用的时候需要指定要查询逻辑集群的名称。例如要查询'installation'逻辑集群的控制组信息:
    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

  • gs_respool_exception_info(pool text)

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

    返回值类型:record

  • gs_control_group_info(pool text)

    描述:查看资源池关联的控制组信息

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

    描述:查询具体某个用户的资源限额和资源使用情况。

    返回值类型:record

示例:

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

SELECT pg_backend_pid();
 pg_backend_pid  
-----------------
 139706243217168
(1 row)

pg_stat_get_backend_pid函数显示后台线程ID。

SELECT pg_stat_get_backend_pid(1);
 pg_stat_get_backend_pid 
-------------------------
         139706243217168
(1 row)
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区