统计信息函数
统计信息函数根据访问对象分为两种类型:针对某个数据库进行访问的函数,以数据库中每个表或索引的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_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时,则返回每个活动的后台进程的记录。返回结果是PG_STAT_ACTIVITY视图中的一个子集,不包含connection_info列。
返回值类型:setofrecord
- pg_stat_get_activity_with_conninfo(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'逻辑集群的控制组信息:
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
- 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。
1 2 3 4 5 | SELECT pg_backend_pid(); pg_backend_pid ----------------- 139706243217168 (1 row) |
pg_stat_get_backend_pid函数显示后台线程ID。
1 2 3 4 5 | SELECT pg_stat_get_backend_pid(1); pg_stat_get_backend_pid ------------------------- 139706243217168 (1 row) |
查看更多:华为GaussDB 200 函数和操作符