统计信息函数
统计信息函数根据访问对象分为两种类型:针对某个数据库进行访问的函数,以数据库中每个表或索引的OID作为参数,标识需要报告的数据库;针对某个服务器进行访问的函数,以一个服务器进程号为参数,其范围从1到当前活跃服务器的数目。
- pg_stat_get_db_numbackends(oid)
返回值类型:integer
- pg_stat_get_db_total_numbackends(oid)
描述:在CN上执行该函数,返回集群中所有CN上指定数据库活跃的服务器线程总数。在DN上执行该函数,返回当前实例上指定数据库活跃的服务器线程数目。
返回值类型:integer
- pg_stat_get_db_xact_commit(oid)
返回值类型:bigint
- pg_stat_get_db_total_xact_commit(oid)
描述:在CN上执行该函数,返回集群中所有CN上指定数据库中已提交事务的总数。在DN上执行该函数,返回当前实例上指定数据库中已提交事务的数量。
返回值类型:bigint
- pg_stat_get_db_xact_rollback(oid)
返回值类型:bigint
- pg_stat_get_db_total_xact_rollback(oid)
描述:在CN上执行该函数,返回集群中所有CN上指定数据库中回滚事务的总数。在DN上执行该函数,返回当前实例上指定数据库中回滚事务的数量。
返回值类型:bigint
- pg_stat_get_db_blocks_fetched(oid)
返回值类型:bigint
- pg_stat_get_db_total_blocks_fetched(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库中磁盘块抓取请求的总数。在DN上执行该函数,返回当前实例上指定数据库中磁盘块抓取请求的数量。
返回值类型:bigint
- pg_stat_get_db_blocks_hit(oid)
描述:返回当前实例上指定数据库在缓冲区中找到的请求磁盘块的数量。
返回值类型:bigint
- pg_stat_get_db_total_blocks_hit(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库在缓冲区中找到的请求磁盘块的总数。在DN上执行该函数,返回当前实例上指定数据库在缓冲区中找到的请求磁盘块的数量。
返回值类型:bigint
- pg_stat_get_db_tuples_returned(oid)
返回值类型:bigint
- pg_stat_get_db_total_tuples_returned(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库返回的元组总数。在DN上执行该函数,返回当前实例上指定数据库返回的元组数量。
返回值类型:bigint
- pg_stat_get_db_tuples_fetched(oid)
返回值类型:bigint
- pg_stat_get_db_total_tuples_fetched(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库读取的元组总数。在DN上执行该函数,返回当前实例上指定数据库读取的元组数量。
返回值类型:bigint
- pg_stat_get_db_tuples_inserted(oid)
返回值类型:bigint
- pg_stat_get_db_total_tuples_inserted(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库插入的元组总数。在DN上执行该函数,返回当前实例上指定数据库插入的元组数量。
返回值类型:bigint
- pg_stat_get_db_tuples_updated(oid)
返回值类型:bigint
- pg_stat_get_db_total_tuples_updated(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库更新的元组总数。在DN上执行该函数,返回当前实例上指定数据库更新的元组数量。
返回值类型:bigint
- pg_stat_get_db_tuples_deleted(oid)
返回值类型:bigint
- pg_stat_get_db_total_tuples_deleted(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库删除的元组总数。在DN上执行该函数,返回当前实例上指定数据库删除的元组数量。
返回值类型:bigint
- pg_stat_get_db_conflict_lock(oid)
描述:在CN上执行该函数,返回集群中所有CN和DN上指定数据库锁冲突的总数。在DN上执行该函数,返回当前实例上指定数据库中锁冲突数量。
返回值类型:bigint
- pg_stat_get_db_deadlocks(oid)
返回值类型:bigint
- pg_stat_get_db_total_deadlocks(oid)
描述:在CN上执行该函数,返回集群中所有CN和DN上指定数据库死锁的总数。在DN上执行该函数,返回当前实例上指定数据库中死锁的数量。
返回值类型:bigint
- pg_stat_get_db_conflict_all(oid)
返回值类型:bigint
- pg_stat_get_db_total_conflict_all(oid)
描述:在CN上执行该函数,返回集群中所有CN和DN上指定数据库发生冲突恢复的总次数。在DN上执行该函数,返回当前实例上指定数据库中发生冲突恢复的次数。
返回值类型:bigint
- pg_stat_get_db_temp_files(oid)
返回值类型:bigint
- pg_stat_get_db_total_temp_files(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库中创建临时文件的总个数。在DN上执行该函数,返回当前实例上指定数据库中创建临时文件的个数。
返回值类型:bigint
- pg_stat_get_db_temp_bytes(oid)
返回值类型:bigint
- pg_stat_get_db_total_temp_bytes(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库中创建临时文件的总字节数。在DN上执行该函数,返回当前实例上指定数据库中创建临时文件的字节数。
返回值类型:bigint
- pg_stat_get_db_blk_read_time(oid)
返回值类型:double
- pg_stat_get_db_total_blk_read_time(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库中读数据块所用的总时间。在DN上执行该函数,返回当前实例上指定数据库中读数据块所用的时间。
返回值类型:double
- pg_stat_get_db_blk_write_time(oid)
返回值类型:double
- pg_stat_get_db_total_blk_write_time(oid)
描述:在CN上执行该函数,返回集群中所有DN上指定数据库中写数据块所用的总时间。在DN上执行该函数,返回当前实例上指定数据库中写数据块所用的时间。
返回值类型:double
- 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)
返回值类型:bigint
- pg_stat_get_xact_tuples_deleted(oid)
返回值类型:bigint
- pg_stat_get_xact_tuples_hot_updated(oid)
返回值类型:bigint
- pg_stat_get_xact_tuples_updated(oid)
返回值类型:bigint
- pg_stat_get_xact_partition_tuples_inserted(oid)
返回值类型:bigint
- pg_stat_get_xact_partition_tuples_deleted(oid)
返回值类型:bigint
- pg_stat_get_xact_partition_tuples_hot_updated(oid)
返回值类型:bigint
- pg_stat_get_xact_partition_tuples_updated(oid)
返回值类型: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)
返回值类型: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)
返回值类型:bigint
- pg_total_autovac_tuples(bool)
描述:返回total autovac相关的tuple记录,如nodename,nspname,relname以及各类tuple的IUD信息。
返回值类型:setof record
- pg_autovac_status(oid)
描述:返回和autovac状态相关的参数信息,如nodename,nspname,relname,analyze,vacuum设置,analyze/vacuum阈值, analyze/vacuum tuple数等。
返回值类型:setof record
- pg_autovac_timeout(oid)
描述:返回某个表做autovac连续超时的次数,表信息非法或node信息异常返回NULL。
返回值类型:bigint
- pg_autovac_coordinator(oid)
描述:返回对某个表做autovac的coordinator名字,表信息非法或node信息异常返回NULL。
返回值类型:text
- pgxc_get_wlm_session_info_bytime(text, timestamp without time zone, timestamp without time zone, int)
描述:PGXC_WLM_SESSION_INFO视图在统计数据量很大的场景中性能较差,建议使用该函数进行筛选查询。入参分别为:筛选时间列('start_time', 'finish_time'),起始区间时间,结束区间时间,每个CN返回的最大数量。返回值为GS_WLM_SESSION_HISTORY。
返回值类型:setof record
- pgxc_get_wlm_current_instance_info(text, int default null)
描述:在CN节点上查询集群各节点当前的资源使用情况,读取内存中还未存到GS_WLM_INSTANCE_HISTORY系统表的数据。入参分别为:节点名称(可以输入ALL、C、D、实例名称),每个节点返回的最大数量。返回值为GS_WLM_INSTANCE_HISTORY。
返回值类型:setof record
- pgxc_get_wlm_history_instance_info(text, TIMESTAMP, TIMESTAMP, int default null)
描述:在CN节点上查询集群各节点历史资源使用情况,读取GS_WLM_INSTANCE_HISTORY系统表的数据。入参分别为:节点名称(可以输入ALL、C、D、实例名称),起始区间时间,结束区间时间,每个实例返回的最大数量。返回值为GS_WLM_INSTANCE_HISTORY。
返回值类型:setof record
- pg_stat_get_last_data_changed_time(oid)
描述:insert/update/delete, exchange/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
- pv_session_time()
描述:统计当前节点各会话线程的运行时间信息及各执行阶段所消耗时间。
返回值类型:record
- pv_instance_time()
返回值类型:record
- pg_stat_get_activity(integer)
描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。返回结果是PG_STAT_ACTIVITY视图中的一个子集,不包含connection_info列。
返回值类型:setof record
- pg_stat_get_activity_with_conninfo(integer)
描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。返回结果是PG_STAT_ACTIVITY视图中的一个子集。
返回值类型:setof record
- 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_total_time(oid)
描述:该函数花费的总挂钟时间,以微秒为单位。包括花费在此函数调用上的时间。
返回值类型:double precision
- pg_stat_get_function_self_time(oid)
描述:在当前事务中仅花费在此函数上的时间。不包括花费在调用函数上的时间。
返回值类型:double precision
- pg_stat_get_backend_idset()
描述:设置当前活动的服务器进程数(从1到活动服务器进程的数量)。
返回值类型:setof integer
- pg_stat_get_backend_pid(integer)
返回值类型:bigint
1 2 3 4 5
SELECT pg_stat_get_backend_pid(1); pg_stat_get_backend_pid ------------------------- 139706243217168 (1 row)
- pg_stat_get_backend_dbid(integer)
返回值类型:oid
- pg_stat_get_backend_userid(integer)
返回值类型: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)
如果是通过Unix域套接字连接的则返回NULL;如果当前用户不是系统管理员或被查询会话的用户,也返回NULL。
返回值类型:inet
备注:该函数中IP地址作为入参时,需写为不带圆点的格式,例如,192.168.100.128写为192168100128。
- pg_stat_get_backend_client_port(integer)
如果是通过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)
返回值类型:record
- gs_get_stat_session_cu(text, int, int, int)
返回值类型:record
- gs_get_stat_db_cu(text, text, int, int, int)
返回值类型: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)
返回值类型:bigint
- pg_stat_get_db_cu_hdd_sync(oid)
返回值类型:bigint
- pg_stat_get_db_cu_hdd_asyn(oid)
返回值类型:bigint
- pgxc_fenced_udf_process()
返回值类型:record
- pgxc_terminate_all_fenced_udf_process()
返回值类型: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
- 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