统计信息函数
统计信息函数根据访问对象分为两种类型:针对某个数据库进行访问的函数,以数据库中每个表或索引的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_lock_status()
描述:查询打开事务所持有的锁信息,所有用户均可执行该函数。
返回值类型:返回字段可参考PG_LOCKS视图返回字段,该视图是通过查询本函数得到的结果。
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 返回字段说明
get_paxos_replication_info()
描述:查询Paxos模式下主机或备机的复制状态。
返回值类型:setofrecord
返回字段说明如下:
表 2 返回字段说明
pg_stat_get_stream_replications()
描述:查询主备复制状态。
返回值类型:setofrecord
返回值说明如下。
表 3 返回值说明
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
示例:
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信息,是否查询local信息。
返回值类型:setofrecord
返回参数说明如下。
表 4 返回参数说明
pg_autovac_status(oid)
描述:返回和autovac状态相关的参数信息,如nodename,nspname,relname,analyze,vacuum设置,analyze/vacuum阈值, analyze/vacuum tuple数等。仅sysadmin可以使用该函数。
返回值类型:setofrecord
返回值参数说明如下。
表 5 返回值参数说明
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列的数据是通过该函数求值,在表数量很大的场景中,通过视图获取表数据最后修改时间的性能较差,建议直接使用该函数获取表数据的最后修改时间。入参可以是表的oid或分区的oid,分别获取表或表的分区的最后修改时间。
返回值类型: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时,则返回每个活动的后台进程的记录。返回结果不包含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
返回参数说明如下。
表 6 返回参数说明
pg_stat_get_activity_with_conninfo(integer)
描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。初始用户、系统管理员和monadmin可以查看所有的数据,普通用户只能查询自己的结果。
返回值类型:setofrecord
返回值说明如下。
表 7 返回值说明
pg_user_iostat(text)
描述:显示和当前用户执行作业正在运行时的IO负载管理相关信息。
返回值类型:record
函数返回字段说明如下:
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()
描述:清理当前的统计快照。
返回值类型: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
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
fenced_udf_process(integer)
描述:查看本地UDF Master和Work进程数。入参为1时查看master进程数,入参为2时查看worker进程数,入参为3时杀死所有worker进程。
返回值类型:text
total_cpu()
描述:获取当前节点使用的CPU时间,单位是jiffies。
返回值类型:bigint
mot_global_memory_detail()
描述:检查MOT全局内存的大小,主要包括数据和索引。
返回值类型:record
mot_local_memory_detail()
描述:检查MOT局部内存的大小,主要包括数据和索引。
返回值类型:record
mot_session_memory_detail()
描述:检查所有会话对MOT内存的使用情况。
返回值类型:record
total_memory()
描述:获取当前节点使用的虚拟内存大小,单位KB。
返回值类型:bigint
pg_stat_get_db_cu_hdd_asyn(oid)
描述:获取当前节点一个数据库从磁盘异步读取CU次数。
返回值类型:bigint
pg_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)
描述:获取当前节点自启动后,读取出现Page/CU的损坏信息。
例: select * from pg_stat_bad_block();
返回值类型:record
pg_stat_bad_block_clear()
描述:清理节点记录的读取出现的Page/CU损坏信息(需要系统管理员权限)。
返回值类型:void
gs_respool_exception_info(pool text)
描述:查看某个资源池关联的查询规则信息。
返回值类型:record
gs_control_group_info(pool text)
描述:查看资源池关联的控制组信息
返回值类型:record
返回信息如下:
gs_all_control_group_info()
描述:查看数据库内所有的控制组信息。
返回值类型:record
gs_get_control_group_info()
描述:查看所有的控制组信息。
返回值类型:record
get_instr_workload_info(integer)
描述:获取数据库主节点上事务量信息,事务时间信息。
返回值类型:record
pv_instance_time()
描述:获取当前节点上各个关键阶段的时间消耗。
返回值类型:record
DBE_PERF.get_global_instance_time()
描述:提供openGauss各个关键阶段的时间消耗,查询该函数必须具有sysadmin权限。
返回值类型:record
get_instr_unique_sql()
描述:获取当前节点的执行语句(归一化SQL)信息,查询该函数必须具有sysadmin权限。
返回值类型:record
reset_unique_sql(text, text, bigint)
描述:重置系统执行语句(归一化SQL)信息,执行该函数必须具有sysadmin权限。第一个参数取值范围“global/local”,global表示清理所有节点上的信息,local表示只清理当前节点;第二参数取值范围“ALL/BY_USERID/BY_CNID”,ALL表示清理所有信息,BY_USERID表示通过指定USERID清理只属于该用户的sql信息,BY_CNID表示清理系统中涉及到该数据库主节点的sql信息;第三个参数表示具体的CNID和USERID,如果第二个参数为ALL,第三个参数不起作用,可以取任意值。
返回值类型:boolean
说明: 此函数中所说节点指分布式节点,当前openGauss为集中式数据库,global与local功能一致,取值范围不支持BY_CNID。
get_instr_wait_event(NULL)
描述:获取当前节点event等待的统计信息。
返回值类型:record
get_instr_user_login()
描述:获取当前节点的用户登入登出次数信息,查询该函数必须具有sysadmin或者monitor admin权限。
返回值类型:record
get_instr_rt_percentile(integer)
描述:获取数据库SQL响应时间P80,P95分布信息。
返回值类型:record
get_node_stat_reset_time()
描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。
返回值类型:record
DBE_PERF.get_global_os_runtime()
描述:显示当前操作系统运行的状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_os_threads()
描述:提供openGauss中所有正常节点下的线程状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_workload_sql_count()
描述:提供openGauss中不同负载SELECT,UPDATE,INSERT,DELETE,DDL,DML,DCL计数信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_workload_sql_elapse_time()
描述:提供openGauss中不同负载SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX),查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_workload_transaction()
描述:获取openGauss内所有节点上的事务量信息,事务时间信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_session_stat()
描述:获取openGauss节点上的会话状态信息,查询该函数必须具有sysadmin权限。
返回值类型: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()
描述:提供openGauss各节点各个关键阶段的时间消耗,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_session_memory()
描述:汇聚各节点的Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存,单位为MB,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_session_memory_detail()
描述:汇聚各节点的线程的内存使用情况,以MemoryContext节点来统计,查询该函数必须具有sysadmin权限。
返回值类型:record
create_wlm_session_info(int flag)
描述:将当前内存中记录的TopSQL查询语句级别相关统计信息清理。该函数只有管理员用户可以执行。
返回值类型:int
pg_stat_get_wlm_session_info(int flag)
描述:获取当前内存中记录的TopSQL查询语句级别相关统计信息,当传入的参数不为0时,会将这部分信息从内存中清理掉。该函数只有system admin和monitor admin用户可以执行。
返回值类型:record
gs_paxos_stat_replication()
描述:在主机端查询备机信息。目前只支持集中式DCF模式。
返回值类型:setofrecord
返回字段说明如下:
gs_wlm_get_resource_pool_info(int)
描述:获取所有用户的资源使用统计信息,入参为int类型可以为可以为任意int值或NULL。
返回值类型:record
gs_wlm_get_all_user_resource_info()
描述:获取所有用户的资源使用统计信息。
返回值类型:record
gs_wlm_get_user_info(int)
描述:获取所有用户的相关信息,入参为int类型可以为可以为任意int值或NULL。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
gs_wlm_get_workload_records()
描述:获取动态负载管理下的所有作业信息,该函数只在动态负载管理开的情况下有效。
返回值类型:record
gs_wlm_readjust_user_space()
描述:修正所有用户的存储空间使用情况。该函数只有管理员用户可以执行。
返回值类型:record
gs_wlm_readjust_user_space_through_username(text name)
描述:修正指定用户的存储空间使用情况。该函数普通用户只能修正自己的使用情况,只有管理员用户可以修正所有用户的使用情况。当name指定位“0000”,表示需要修正所有用户的使用情况。
返回值类型:record
gs_wlm_readjust_user_space_with_reset_flag(text name, boolean isfirst)
描述:修正指定用户的存储空间使用情况。入参isfirst为true表示从0开始统计,否则从上一次结果继续统计。该函数普通用户只能修正自己的使用情况,只有管理员用户可以修正所有用户的使用情况。当name指定位“0000”,表示需要修正所有用户的使用情况。
返回值类型:record
gs_wlm_session_respool(bigint)
描述:获取当前所有后台线程的session resouce pool相关信息,入参为bigint类型可以为可以为任意bigint值或NULL。
返回值类型:record
gs_wlm_get_session_info()
描述:目前该接口已废弃,暂不可用。
gs_wlm_get_user_session_info()
描述:目前该接口已废弃,暂不可用。
gs_io_wait_status()
描述:目前该接口不支持单机和集中式,暂不可用。
global_stat_get_hotkeys_info()
描述:获取整个数据库实例中热点key的统计情况。目前该接口不支持单机和集中式,暂不可用。
global_stat_clean_hotkeys()
描述:清理整个数据库实例中热点key的统计信息。目前该接口不支持单机和集中式,暂不可用。
DBE_PERF.get_global_session_stat_activity()
描述:汇聚openGauss内各节点上正在运行的线程相关的信息,查询该函数必须具有monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_thread_wait_status()
描述:汇聚所有节点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况,查询该函数必须具有sysadmin和monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_operator_history_table()
描述:汇聚当前用户数据库主节点上执行作业结束后的算子相关记录(持久化),查询该函数必须具有sysadmin和monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_operator_history()
描述:汇聚当前用户数据库主节点上执行作业结束后的算子相关记录,查询该函数必须具有sysadmin和monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_operator_runtime()
描述:汇聚当前用户数据库主节点上执行作业实时的算子相关记录,查询该函数必须具有sysadmin和monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_statement_complex_history()
描述:汇聚当前用户数据库主节点上复杂查询的历史记录,查询该函数必须具有monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_statement_complex_history_table()
描述:汇聚当前用户数据库主节点上复杂查询的历史记录(持久化),查询该函数必须具有monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_statement_complex_runtime()
描述:汇聚当前用户数据库主节点上复杂查询的实时信息,查询该函数必须具有sysadmin和monadmin权限。
返回值类型:record
DBE_PERF.get_global_memory_node_detail()
描述:汇聚所有节点某个数据库节点内存使用情况,查询该函数必须具有monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_shared_memory_detail()
描述:汇聚所有节点已产生的共享内存上下文的使用信息,查询该函数必须具有monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_statio_all_indexes()
描述:汇聚所有节点当前数据库中的每个索引行,显示特定索引的I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_all_tables()
描述:显示汇聚各节点数据中每个表(包括TOAST表)的一行的统计信息
返回值类型:record
DBE_PERF.get_global_stat_all_tables()
描述:显示各节点数据中每个表(包括TOAST表)的一行的统计信息。
返回值类型:record
DBE_PERF.get_local_toastname_and_toastindexname()
描述:提供本地toast表的name和index和其关联表的对应关系,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statio_all_indexes()
描述:统计所有节点当前数据库中的每个索引行,显示特定索引的I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_all_sequences()
描述:提供命名空间中所有sequences的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_all_tables()
描述:汇聚各节点的数据库中每个表I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statio_all_tables()
描述:统计openGauss内数据库中每个表I/O的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_local_toast_relation()
描述:提供本地toast表的name和其关联表的对应关系,查询该函数必须具有sysadmin权限
返回值类型:record
DBE_PERF.get_global_statio_sys_indexes()
描述:汇聚各节点的命名空间中所有系统表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statio_sys_indexes()
描述:统计各节点的命名空间中所有系统表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_sys_sequences()
描述:提供命名空间中所有系统表为sequences的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_sys_tables()
描述:提供各节点的命名空间中所有系统表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statio_sys_tables()
描述:openGauss内汇聚命名空间中所有系统表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_user_indexes()
描述:各节点的命名空间中所有用户关系表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statio_user_indexes()
描述:openGauss内汇聚命名空间中所有用户关系表索引的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_user_sequences()
描述:显示各节点的命名空间中所有用户的sequences的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statio_user_tables()
描述:显示各节点的命名空间中所有用户关系表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statio_user_tables()
描述:openGauss内汇聚命名空间中所有用户关系表的IO状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_stat_db_cu()
描述:视图查询openGauss各个节点,每个数据库的CU命中情况,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_all_indexes()
描述:汇聚所有节点数据库中每个索引的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_all_indexes()
描述:统计所有节点数据库中每个索引的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_sys_tables()
描述:汇聚各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_sys_tables()
描述:统计各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_sys_indexes()
描述:汇聚各节点pg_catalog、information_schema模式中所有系统表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_sys_indexes()
描述:统计各节点pg_catalog、information_schema模式中所有系统表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_user_tables()
描述:汇聚所有命名空间中用户自定义普通表的状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_user_tables()
描述:统计所有命名空间中用户自定义普通表的状态信息,查询该函数必须具有monitoradmin权限。
返回值类型:record
DBE_PERF.get_global_stat_user_indexes()
描述:汇聚所有数据库中用户自定义普通表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_user_indexes()
描述:统计所有数据库中用户自定义普通表的索引状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_database()
描述:汇聚所有节点数据库统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_database_conflicts()
描述:统计所有节点数据库统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_xact_all_tables()
描述:汇聚命名空间中所有普通表和toast表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_xact_all_tables()
描述:统计命名空间中所有普通表和toast表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_xact_sys_tables()
描述:汇聚所有节点命名空间中系统表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_xact_sys_tables()
描述:统计所有节点命名空间中系统表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_xact_user_tables()
描述:汇聚所有节点命名空间中用户表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_stat_xact_user_tables()
描述:统计所有节点命名空间中用户表的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_user_functions()
描述:汇聚所有节点命名空间中用户定义函数的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_xact_user_functions()
描述:统计所有节点命名空间中用户定义函数的事务状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_stat_bad_block()
描述:汇聚所有节点表、索引等文件的读取失败信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_file_redo_iostat()
描述:统计所有节点表、索引等文件的读取失败信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_file_iostat()
描述:汇聚所有节点数据文件IO的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_locks()
描述:汇聚所有节点的锁信息,查询该函数必须具有sysadmin和monadmin权限。
返回值类型:record
DBE_PERF.get_global_replication_slots()
描述:汇聚所有节点上逻辑复制信息,查询该函数必须具有sysadmin和monadmin权限。
返回值类型:record
DBE_PERF.get_global_bgwriter_stat()
描述:汇聚所有节点后端写进程活动的统计信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_replication_stat()
描述:汇聚各节点日志同步状态信息,如发起端发送日志位置,收端接收日志位置等,查询该函数必须具有sysadmin和monadmin权限。
返回值类型:record
DBE_PERF.get_global_transactions_running_xacts()
描述:汇聚各节点运行事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_transactions_running_xacts()
描述:统计各节点运行事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_transactions_prepared_xacts()
描述:汇聚各节点当前准备好进行两阶段提交的事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_transactions_prepared_xacts()
描述:统计各节点当前准备好进行两阶段提交的事务的信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_statement()
描述:汇聚各节点历史执行语句状态信息,查询该函数必须具有monitor admin和sysadmin权限。
返回值类型:record
DBE_PERF.get_global_statement_count()
描述:汇聚各节点SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX),查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_config_settings()
描述:汇聚各节点GUC参数配置信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_wait_events()
描述:汇聚各节点wait events状态信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_statement_responsetime_percentile()
描述:获取openGaussSQL响应时间P80,P95分布信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_summary_user_login()
描述:统计openGauss各节点用户登入登出次数信息,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.get_global_record_reset_time()
描述:汇聚openGauss统计信息重置(重启,主备倒换,数据库删除)时间,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.track_memory_context(context_list text)
描述:设置需要统计内存申请详细信息的内存上下文。入参为内存上下文的名称,使用“,”分隔,如“ThreadTopMemoryContext, SessionCacheMemoryContext”,注意该内存上下文名称是上下文敏感的。此外,单个内存上下文的长度为63,超过的部分会被截断。而且一次能够统计的内存上下文上限为16个,设置超过16个内存上下文会设置失败。每一次调用该函数都会将上次统计的结果清空,当入参指定为“”时,表示取消该统计功能。只有初始用户(super user)或者具有monadmin权限的用户可以执行该函数。
返回值类型:boolean
DBE_PERF.track_memory_context_detail()
描述:获取DBE_PERF.track_memory_context函数指定的内存上下文的内存申请详细信息。返回值的定义见视图DBE_PERF.track_memory_context_detail。只有初始用户(super user)或者具有monadmin权限的用户可以执行该函数。
返回值类型:record
pg_stat_get_mem_mbytes_reserved(tid)
描述:统计资源管理相关变量值,仅用于定位问题使用。
参数:线程id。
返回值类型:text
gs_wlm_user_resource_info(name text)
描述:查询具体某个用户的资源限额和资源使用情况。
返回值类型:record
pg_stat_get_file_stat()
描述:通过对数据文件IO的统计,反映数据的IO性能,用以发现IO操作异常等性能问题。
返回值类型: record
pg_stat_get_redo_stat()
描述:用于统计会话线程日志回放情况。
返回值类型: record
pg_stat_get_status(int8)
描述:可以检测当前实例中工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。
返回值类型:record
get_local_rel_iostat()
描述:查询当前节点的数据文件IO状态累计值。
返回值类型:record
DBE_PERF.get_global_rel_iostat()
描述:汇聚所有节点数据文件IO的统计,查询该函数必须具有sysadmin权限。
返回值类型:record
DBE_PERF.global_threadpool_status()
描述:显示在所有节点上的线程池中工作线程及会话的状态信息。函数返回信息具体字段GLOBAL_THREADPOOL_STATUS字段。
返回值类型:record
remote_bgwriter_stat()
描述:显示数据库所有实例的bgwriter线程刷页信息,候选buffer链中页面个数,buffer淘汰信息(本节点除外、DN上不可使用)。
返回值类型:record
pv_os_run_info
描述:显示当前操作系统运行的状态信息,具体字段信息参考GS_OS_RUN_INFO。
参数:nan
返回值类型:setof record
pv_session_stat
描述:以会话线程或AutoVacuum线程为单位,统计会话状态信息,具体字段信息参考GS_SESSION_STAT。
参数:nan
返回值类型:setof record
pv_session_time
描述:用于统计会话线程的运行时间信息,及各执行阶段所消耗时间,具体字段信息参考GS_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
remote_candidate_stat()
描述:用于显示数据库所有实例的检查点信息和各类日志刷页情况(本节点除外),集中式不支持。
返回值类型:record
dbe_perf.gs_stat_activity_timeout(int)
描述:获取当前节点上执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。
返回值类型:setof record
gs_wlm_user_resource_info(name text)
描述:查询具体某个用户的资源限额和资源使用情况。普通用户只能查询到自己相关的信息,管理员权限的用户可以查看全部用户的信息。
返回值类型:record
create_wlm_instance_statistics_info
描述:将当前实例的历史监控数据进行持久化保存。
参数:nan
返回值类型:integer
gs_session_memory
描述:统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存。
说明: 若GUC参数enable_memory_limit=off,该函数不能使用。
返回值类型:record
表 8 返回值说明
gs_wlm_persistent_user_resource_info()
描述:将当前所有的用户资源使用统计信息归档到gs_wlm_user_resource_history系统表中,只有sysadmin有权限查询。
返回值类型:record
create_wlm_operator_info(int flag)
描述:将当前内存中记录的TopSQL算子级别相关统计信息清理,当传入的参数大于0时,会将这部分信息归档到gs_wlm_operator_info和gs_wlm_ec_operator_info中,否则不会归档。该函数只有sysadmin权限的用户可以执行。
返回值类型:int
GS_ALL_NODEGROUP_CONTROL_GROUP_INFO(text)
描述:提供了所有逻辑数据库实例的控制组信息。该函数在调用的时候需要指定要查询逻辑数据库实例的名称。例如要查询'InstallationGuide'逻辑数据库实例的控制组信息:
SELECT * FROM GS_ALL_NODEGROUP_CONTROL_GROUP_INFO('InstallationGuide')
返回值类型:record
函数返回字段如下:
gs_total_nodegroup_memory_detail
描述:返回当前数据库逻辑数据库使用内存的信息,单位为MB得到一个逻辑数据库。此函数依赖内存保护功能开启。 返回值类型:setof record
local_redo_time_count()
描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。
返回值如下:
local_redo_time_count返回参数说明。
local_xlog_redo_statics()
描述:返回本节点已经回放的各个类型类型的日志统计信息(仅在备机上有有效数据)。
返回值如下:
表 9 local_xlog_redo_statics返回参数说明
针对page回放日志和xact日志有有效值。page页回放日志标识从磁盘读取page的个数。xact日志表示删除文件的个数。
gs_get_shared_memctx_detail(text)
描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。只支持查询通过pg_shared_memory_detail视图查询出来的内存上下文,入参为内存上下文名称(即pg_shared_memory_detail返回结果的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限,且需要内存保护功能开启。
返回值类型:setof record
说明: 该视图不支持release版本小型化场景。
gs_get_history_memory_detail(cstring)
描述:查询历史内存快照信息,入参类型为cstring,取值为NULL或内存快照log文件名称:
- 若入参为NULL,则显示当前节点所有的内存快照log文件列表。
- 若入参为1查询到的列表中的内存快照log名称,则显示该log文件记录的内存快照详细信息。
- 若输入其他入参,则会提示入参错误或打开文件失败。
查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:text
gs_stack()
描述:显示线程调用栈。查询该函数需要有sysadmin权限或者monadmin权限。
参数:tid,线程id。tid是可选参数,指定tid参数时,函数返回tid对应线程调用栈;当不指定tid参数时,函数返回所有线程的调用栈。
返回值:当指定tid时,返回值为text;当不指定tid时,返回值为setof record。
示例:
openGauss=# SELECT 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)
gs_get_session_memctx_detail(text)
描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。仅在线程池模式下生效。只支持查询通过gs_session_memory_context视图查询出来的内存上下文,入参为内存上下文名称(即gs_session_memory_context返回结果的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限,且需要内存保护功能开启。
返回值类型:setof record
说明: 该视图仅在线程池模式下生效,且该视图不支持release版本小型化场景。
gs_get_thread_memctx_detail(tid,text)
描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件,行号和大小(同一文件同一行大小会做累加)。只支持查询通过gs_thread_memory_context视图查询出来的内存上下文,第一个入参为线程id(即gs_thread_memory_context返回数据的tid列),第二个参数为内存上下文名称(即gs_thread_memory_context返回数据的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限,且需要内存保护功能开启。
返回值类型:setof record
若入参为1查询到的列表中的内存快照log名称,则显示该log文件记录的内存快照详细信息。
- 若输入其他入参,则会提示入参错误或打开文件失败。
查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:text
说明: 该视图不支持release版本小型化场景。
DBE_PERF.standby_statement_history(bool [, time1, time2])
参数:
- bool only_slow:是否仅查询慢SQL,true为是,false或NULL为查询全部SQL。
- VARIADIC timestamptz finish_time: 可选输入,最多输入两个时间time1, time2,表示查询的SQL的finish_time所属时间段。
描述:备机中用来查询FULL SQL记录的函数,主机通过表statement_history进行查询,备机通过此函数进行查询。只有初始用户或者具有monadmin权限的用户可以执行该函数。
返回值类型:record,同表statement_history。
说明:
第一个bool参数的说明: true表示仅查询慢sql,相当于 select .. where is_slow_sql = true; false或NULL表示查询全部SQL,相当于不对is_slow_sql进行过滤。
两个时间参数time1 time2的说明:表示查询的SQL的finish_time所属时间段, 分别表示起始与终止时间, 输入NULL或者不输入表示没有限制, 功能等同与 select .. where finish_time between time1 and time2。
备机上数据并非存在表里,不存在start_time列的索引,推荐使用参数对finish_time进行条件查找,内部有对这进行一些性能的优化。但注意修改了系统时间可能会导致此功能不准确。
查询结果基本会是按照finish_time自动进行降序(新到旧)排序的。
除了FunctionScan算子计算过程本身之外,对于数据的扫描会额外占用16或32M内存来做一个临时buffer。
此函数的稳定性等级为'v'。
由于备机Full SQL采用异步下盘方式,所以用户SQL信息存储时刻可能有所滞后,建议客户查询此接口适当扩大时间查询范围。