统计信息函数
统计信息函数根据访问对象分为两种类型:针对某个数据库进行访问的函数,以数据库中每个表或索引的OID作为参数,标识需要报告的数据库;针对某个服务器进行访问的函数,以一个服务器进程号为参数,其范围从1到当前活跃服务器的数目。
- pg_stat_get_db_conflict_tablespace(oid)
描述:由于恢复与数据库中删除的表空间发生冲突而取消的查询数。
返回值类型:bigint
- pg_control_group_config()
描述:在当前节点上打印cgroup配置。该函数需要sysadmin权限的用户才能够执行。
返回值类型: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)
描述:当前事务中该函数所花费的总挂钟时间(以微秒为单位)。包括花费在此函数调用上的时间。
返回值类型:
- pg_lock_status()
返回值类型:返回字段可参考PG_LOCKS视图返回字段,该视图是通过查询本函数得到的结果。
- pg_stat_get_wal_senders()
返回值类型:setofrecord
- pgxc_get_senders_catchup_time()
描述:在CN实例查询集群中是否存在处于日志追赶状态的备DN,以及追赶状态详情。
返回值类型:setofrecord
- pg_stat_get_stream_replications()
返回值类型:setofrecord
- 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)
返回值类型:bigint
- pg_stat_get_db_tuples_fetched(oid)
返回值类型:bigint
- pg_stat_get_db_tuples_inserted(oid)
返回值类型:bigint
- pg_stat_get_db_tuples_updated(oid)
返回值类型:bigint
- pg_stat_get_db_tuples_deleted(oid)
返回值类型: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)
返回值类型: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信息,入参分别为:是否查询relation信息,是否查询local信息。
返回值类型:setofrecord
- pg_autovac_status(oid)
描述:返回和autovac状态相关的参数信息,如nodename,nspname,relname,analyze,vacuum设置,analyze/vacuum阈值, analyze/vacuum tuple数等。仅sysadmin可以使用该函数。
返回值类型: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()
返回值类型:integer
- 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
- pg_stat_get_activity_with_conninfo(integer)
描述:返回一个关于带有特殊PID的后台进程的记录信息,当参数为NULL时,则返回每个活动的后台进程的记录。初始用户、系统管理员和monadmin可以查看所有的数据,普通用户只能查询自己的结果。
openGauss=# select * from pg_stat_get_activity_with_conninfo(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 | connection_info | srespool | global_sessionid | unique_sql_id | trace_id -------+-----------------+-----------+----------+------------------+--------+--------------------------------------------------------------------+---------+-------------------------------+----------------------- --------+-------------------------------+-------------------------------+-------------+-----------------+-------------+---------+-------------------+-------------------------------------------------------------- -----------------------------------------------------------------------------------------+--------------+------------------+---------------+---------- 16545 | 139881386280704 | 69 | 10 | gsql | active | select * from pg_stat_get_activity_with_conninfo(139881386280704); | f | 2022-01-18 19:45:20.125433+08 | 2022-01-18 19:45:20.12 5433+08 | 2022-01-18 19:42:33.513507+08 | 2022-01-18 19:45:20.125469+08 | | | -1 | | 72620543991624470 | {"driver_name":"libpq","driver_version":"(GaussDB Vxxx RxxxCxx build 5dde2050) compiled at 2022-01-11 14:38:20 commit 3320 last mr 7176 debug"} | default_pool | 1938253334:69#0 | 3858105710 | (1 row)
返回值类型:setofrecord
- pg_stat_get_activity_ng(integer)
描述:返回一个关于带有特殊PID的活跃后台线程记录信息,当参数为NULL时,则返回每个活跃的后台线程的记录。系统管理员和monadmin可以查看所有的数据,普通用户只能查询自己的结果。
返回值类型:setofrecord
函数返回字段说明如下:
名称
类型
描述
datid
oid
数据库oid。
pid
biginit
后端线程的ID。
sessionid
biginit
会话的id。
node_group
text
数据所属用户对应的逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)。
- 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为单位。
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)
返回值类型:bigint
- 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)
描述:连接到给定客户端后端的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()
描述:清理当前的统计快照。该函数仅sysadmin和monitoradmin可以执行。
返回值类型:void
- pg_stat_reset()
描述:为当前数据库重置统计计数器为0(需要系统管理员权限)。
返回值类型:void
- gs_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, bigint, bigint, bigint)
返回值类型: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
- pgxc_get_wlm_current_instance_info(text, int default null)
描述:在CN节点上查询集群各节点当前的资源使用情况,读取内存中还未存到GS_WLM_INSTANCE_HISTORY系统表的数据。入参分别为节点名称(可以输入ALL、C、D、实例名称)、每个节点返回的大数量。返回值为GS_WLM_INSTANCE_HISTORY。
返回值类型:setofrecord
- pgxc_get_wlm_history_instance_info(text, TIMESTAMP, TIMESTAMP, int default null)
描述:在CN节点上查询集群各节点历史资源使用情况,读取 GS_WLM_INSTANCE_HISTORY系统表的数据。入参分别为节点名称(可以输入 ALL、C、D、实例名称)、起始区间时间、结束区间时间和每个实例返回的大数 量。返回值为GS_WLM_INSTANCE_HISTORY。
返回值类型:setofrecord
- pg_stat_get_db_cu_hdd_asyn(oid)
返回值类型:bigint
- pgxc_fenced_udf_process(integer)
描述:查看UDF Master和Work进程数,仅sysadmin和monadmin用户有权限执行。入参为1时查看master进程数,入参为2时查看worker进程数,入参为3时杀死所有worker进程。
返回值类型:text
- fenced_udf_process()
返回值类型:record
- total_cpu()
返回值类型:bigint
- total_memory()
返回值类型:bigint
- pgxc_terminate_all_fenced_udf_process()
描述:Kill所有的UDF Work进程,仅sysadmin和monadmin用户有权限执行。
返回值类型: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
- pgxc_log_comm_status(void)
描述:当使用TCP代理通信时,PGXC系统视图将datanode的通信层状态输出到各个日志文件中。
返回值类型:void
- gs_respool_exception_info(pool text)
返回值类型:record
- gs_control_group_info(pool text)
描述:查看资源池关联的控制组信息。该函数需要sysadmin权限的用户才能够执行。
返回值类型: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_all_control_group_info()
描述:查看数据库内所有的控制组信息。函数返回信息具体的字段16.3.48 GS_ALL_CONTROL_GROUP_INFO字段。
返回值类型:record
- gs_get_control_group_info()
描述:查看所有的控制组信息。函数返回信息具体的字段16.3.53 GS_GET_CONTROL_GROUP_INFO字段。该函数需要sysadmin权限的用户才能够执行。
返回值类型:record
- get_instr_workload_info(integer)
返回值类型:record
属性
属性值
描述
user_oid
10
用户id。
commit_counter
4
前端事务commit数量。
rollback_counter
1
前端事务rollback数量。
resp_min
949
前端事务最小响应时间(单位:微秒)。
resp_max
201891
前端事务最大响应时间(单位:微秒)。
resp_avg
43564
前端事务平均响应时间(单位:微秒)。
resp_total
217822
前端事务总响应时间(单位:微秒)。
bg_commit_counter
910
后端事务commit数量。
bg_rollback_counter
0
后端事务rollback数量。
bg_resp_min
97
后端事务最小响应时间(单位:微秒)。
bg_resp_max
678080687
后端事务最大响应时间(单位:微秒)。
bg_resp_avg
327847884
后端事务平均响应时间(单位:微秒)。
bg_resp_total
298341575300
后端事务总响应时间(单位:微秒)。
- pv_instance_time()
返回值类型:record
Stat_name属性
属性值
描述
DB_TIME
1062385
所有线程端到端的墙上时间(WALL TIME)消耗总和(单位:微秒)。
CPU_TIME
311777
所有线程CPU时间消耗总和(单位:微秒)。
EXECUTION_TIME
380037
消耗在执行器上的时间总和(单位:微秒)。
PARSE_TIME
6033
消耗在SQL解析上的时间总和(单位:微秒)。
PLAN_TIME
173356
消耗在执行计划生成上的时间总和(单位:微秒)。
REWRITE_TIME
2274
消耗在查询重写上的时间总和(单位:微秒)。
PL_EXECUTION_TIME
0
消耗在PL/SQL执行上的时间总和(单位:微秒)。
PL_COMPILATION_TIME
557
消耗在SQL编译上的时间总和(单位:微秒)。
NET_SEND_TIME
1673
消耗在网络发送上的时间总和(单位:微秒)。
DATA_IO_TIME
426622
消耗在数据读写上的时间总和(单位:微秒)。
- DBE_PERF.get_global_instance_time()
描述:提供整个集群各个关键阶段的时间消耗,仅在CN上支持查询。
返回值类型:record
- get_instr_unique_sql()
描述:获取当前结点的执行语句(归一化SQL)信息,查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:record
- get_instr_wait_event(integer)
返回值类型:record
- get_instr_user_login()
描述:获取当前节点的用户登入登出次数信息,查询该函数必须具有sysadmin或者monitor admin权限。
返回值类型:record
- get_instr_rt_percentile(integer)
描述:获取CCN节点SQL 响应时间P80,P95分布信息,集群统一的信息在CCN节点上,其他节点查询为0。
返回值类型:record
- get_node_stat_reset_time()
描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。
返回值类型:record
- gs_session_memory_detail_tp()
描述:统计线程的内存使用情况,以MemoryContext节点来统计。当开启线程池(enable_thread_pool = on)时,该视图包含所有的线程和会话的内存使用情况。
返回值类型:record
- create_wlm_operator_info(int flag)
描述:将当前内存中记录的TopSQL算子级别相关统计信息清理,当传入的参数大于0时,会将这部分信息归档到gs_wlm_operator_info和gs_wlm_ec_operator_info中,否则不会归档。该函数只有sysadmin权限的用户可以执行。
返回值类型:int
-
create_wlm_session_info(int flag)
描述:将当前内存中记录的TopSQL查询语句级别相关统计信息清理,当传入的参数大于0时,会将这部分信息归档到gs_wlm_session_query_info_all中,否则不会归档。该函数只有sysadmin权限的用户可以执行。
返回值类型:int
-
pg_stat_get_wlm_session_info(int flag)
描述:获取当前内存中记录的TopSQL查询语句级别相关统计信息,当传入的参数不为0时,会将这部分信息从内存中清理掉。该函数只有system admin和monitor admin用户可以执行。
返回值类型:record
- gs_paxos_stat_replication()
- get_paxos_replication_info()
-
gs_wlm_get_resource_pool_info(int)
描述:获取所有用户的资源使用统计信息,入参为int类型,可以为任意int值或NULL。
返回值类型:record
- gs_wlm_get_all_user_resource_info()
描述:获取所有用户的资源使用统计信息。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
描述:获取所有用户的相关信息,入参为int类型,可以为任意int值或NULL。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
描述:获取动态负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)下的所有作业信息,该函数只在动态负载管理开的情况下有效。
返回值类型:record
-
gs_wlm_persistent_user_resource_info()
描述:将当前所有的用户资源使用统计信息归档到gs_wlm_user_resource_history系统表中,只有sysadmin用户有权限执行。
返回值类型:record
-
gs_wlm_readjust_user_space(oid)
描述:修正所有用户的存储空间使用情况。该函数只有管理员用户可以执行。
返回值类型: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 resource pool相关信息。入参为bigint类型,可以为任意bigint值或NULL。
返回值类型:record
- gs_total_nodegroup_memory_detail
描述:返回当前数据库逻辑集群(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)使用内存的信息,单位为MB。
若GUC参数enable_memory_limit=off,该函数不能使用。
返回值类型:setof record
表1 返回值说明 名称
类型
描述
ngname
text
逻辑集群名称。
memorytype
text
内存类型,包括以下几种:- ng_total_memory:该逻辑集群的总内存大小。
- ng_used_memory:该逻辑集群的实际使用内存大小。
- ng_estimate_memory:该逻辑集群的估算使用内存大小。
- ng_foreignrp_memsize:该逻辑集群的外部资源池的总内存大小。
- ng_foreignrp_usedsize:该逻辑集群的外部资源池实际使用内存大小。
- ng_foreignrp_peaksize:该逻辑集群的外部资源池使用内存的峰值。
- ng_foreignrp_mempct:该逻辑集群的外部资源池占该逻辑集群总内存大小的百分比。
- ng_foreignrp_estmsize:该逻辑集群的外部资源池估算使用内存大小。
memorymbytes
integer
内存类型分配内存的大小。
- gs_io_wait_status()
返回值类型:setof record
名称
类型
描述
node_name
text
节点名称。
device_name
text
节点挂载的数据磁盘名称。
read_per_second
float
读完成每秒次数。
write_per_second
float
写完成每秒次数。
write_ratio
float
写磁盘占总的IO使用的比例。
io_util
float
每秒IO所占CPU总时间的百分比。
total_io_util
integer
过去三次IO所占CPU总时间的等级(取值为0~6)。
tick_count
integer
更新磁盘IO信息的周期,固定为1秒,每次读取数据前都会被清零。
io_wait_list_len
integer
IO请求线程等待队列的大小,若为0,则表示当前没有IO被管控
- gs_get_shared_memctx_detail(text)
描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。只支持查询通过pg_shared_memory_detail视图查询出来的内存上下文,入参为内存上下文名称(即pg_shared_memory_detail返回结果的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:setof record
名称
类型
描述
file
text
申请内存所在文件的文件名。
line
int8
申请内存所在文件的代码行号。
size
int8
申请的内存大小,同一文件同一行多次申请会做累加。
该视图不支持release版本小型化场景。
- gs_get_session_memctx_detail(text)
描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。仅在线程池模式下生效。且只支持查询通过pv_session_memory_context视图查询出来的内存上下文,入参为内存上下文名称(即pv_session_memory_context返回结果的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:setof record
名称
类型
描述
file
text
申请内存所在文件的文件名。
line
int8
申请内存所在文件的代码行号。
size
int8
申请的内存大小,单位为byte,同一文件同一行多次申请会做累加。
该视图仅在线程池模式下生效,且该视图不支持release版本小型化场景。
- gs_get_thread_memctx_detail(tid,text)
描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会做累加)。只支持查询通过pv_thread_memory_context视图查询出来的内存上下文,第一个入参为线程id(即pv_thread_memory_context返回数据的tid列),第二个参数为内存上下文名称(即pv_thread_memory_context返回数据的contextname列)。查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:setof record
名称
类型
描述
file
text
申请内存所在文件的文件名。
line
int8
申请内存所在文件的代码行号。
size
int8
申请的内存大小,单位为byte,同一文件同一行多次申请会做累加。
该视图不支持release版本小型化场景。
- gs_get_history_memory_detail(cstring)
描述:查询历史内存快照信息,入参类型为cstring,取值为NULL或内存快照log文件名称:
- 若入参为NULL,则显示当前节点所有的内存快照log文件列表。
- 若入参为1查询到的列表中的内存快照log名称,则显示该log文件记录的内存快照详细信息。
- 若输入其他入参,则会提示入参错误或打开文件失败。
查询该函数必须具有sysadmin权限或者monitor admin权限。
返回值类型:text
名称
类型
描述
memory_info
text
内存信息,如果函数入参为NULL,该列显示内存快照文件列表信息;入参为内存快照文件名称,则显示该文件的具体内容。
- gs_stat_get_hotkeys_info()
若GUC参数enable_hotkeys_collection = off, gs_stat_get_hotkeys_info、global_stat_get_hotkeys_info函数和global_stat_hotkeys_info视图无法正常查询。不影响gs_stat_clean_hotkeys和global_stat_clean_hotkeys清理接口的正常使用。
描述:获取当前节点上热点key的统计情况。
返回值类型:record
1 2 3 4 5 6
openGauss=# select * from gs_stat_get_hotkeys_info() order by count, hash_value; database_name | schema_name | table_name | key_value | hash_value | count ---------------+-------------+-------------------+-----------+------------+------- regression | public | hotkey_single_col | {22} | 1858004829 | 2 regression | public | hotkey_single_col | {11} | 2011968649 | 2 (2 rows)
表1 返回值说明
名称
类型
描述
database_name
text
热点key所在database名称。
schema_name
text
热点key所在schema名称。
table_name
text
热点key所在table名称。
key_value
text
热点key的value。
hash_value
bigint
热点key在数据库中的哈希值,如果是List/Range分布表,该字段为0。
count
bigint
热点key被访问频次。
- gs_stat_clean_hotkeys()
- 热点key检测是针对大并发大流量场景设计的特性,访问几次的场景,查询清理会存在一定误差。
- 清理接口的设计上,只会清理LRU队列中的统计数据,而不会清理FIFO中的历史数据。因此如果清理完后,再访问一次FIFO中存在的历史键值,仍会被当做热点key处理。global_stat_clean_hotkeys同理。
描述:清理当前节点上热点key的统计信息。
返回值:boolean
1 2 3 4 5
openGauss=# select * from gs_stat_clean_hotkeys(); gs_stat_clean_hotkeys ----------------------- t (1 row)
- global_stat_get_hotkeys_info()
执行业务过程中,执行select * from global_stat_hotkeys_info minus select * from global_stat_get_hotkeys_info();因为存在时间差,可能出现不为0的情况。
描述:获取整个集群中热点key的统计情况。
返回值类型:record
1 2 3 4 5 6
openGauss=# select * from global_stat_get_hotkeys_info() order by count, hash_value; database_name | schema_name | table_name | key_value | hash_value | count ---------------+-------------+-------------------+-----------+------------+------- regression | public | hotkey_single_col | {22} | 1858004829 | 2 regression | public | hotkey_single_col | {11} | 2011968649 | 2 (2 rows)
- global_stat_clean_hotkeys()
返回值:boolean
1 2 3 4 5
openGauss=# select * from global_stat_clean_hotkeys(); global_stat_clean_hotkeys ----------------------- t (1 row)
- global_comm_get_recv_stream()
描述:获取所有DN节点上所有的通信库接收流状态。函数返回信息具体字段参考PG_COMM_RECV_STREAM字段。
返回值类型:record
- global_comm_get_send_stream()
描述:获取所有DN节点上所有的通信库发送流状态。函数返回信息具体字段参考PG_COMM_SEND_STREAM字段。
返回值类型:record
- global_comm_get_status()
描述:获取所有DN节点的通信库状态。函数返回信息具体字段参考PG_COMM_STATUS字段。
返回值类型:record
- global_comm_client_info()
描述:获取全局节点活跃的客户端连接信息。函数返回信息具体字段参考COMM_CLIENT_INFO字段。
返回类型:record
- global_comm_get_client_info()
描述:获取全局节点客户端连接信息。函数返回信息具体字段参考COMM_CLIENT_INFO字段。
返回类型:record
- pgxc_get_wlm_ec_operator_history()
描述:显示在所有CN上缓存的执行EC(ExtensionConnector)作业结束时的算子信息。该信息会被定时清理,清理周期为3分钟。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
- pgxc_get_wlm_ec_operator_info()
描述:显示在所有CN上执行的EC(ExtensionConnector)作业结束时的算子信息。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
- pgxc_get_wlm_ec_operator_statistics()
描述:显示在所有CN上正在执行的EC(ExtensionConnector)作业的算子信息。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
pgxc_get_wlm_operator_history()
描述:显示在所有CN上缓存的作业执行结束时的算子信息。该信息会被定时清理,清理周期为3分钟。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
描述:显示在所有CN上的作业执行结束时的算子信息。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
pgxc_get_wlm_operator_statistics()
描述:显示在所有CN上正在执行的作业的算子信息。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
pgxc_get_wlm_session_history()
描述:显示在所有CN上缓存的作业执行结束时的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该信息会被定时清理,清理周期为3分钟。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
描述:显示在所有CN上缓存的作业执行结束时的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
pgxc_get_wlm_session_info_bytime(tag text, begin timestamp, end timestamp, limit int)
描述:显示在所有CN上开始或者结束时间位于某个时间区间的作业的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该函数只有sysadmin权限的用户可以执行。
参数说明:tag - 只能为‘start_time’或‘finish_time’,表明查询限制的是作业的开始时间还是结束时间。
begin - 时间段的开始时间。
end - 时间段的结束时间。
limit - 返回结果的条数。
返回值类型:record
-
pgxc_get_wlm_session_statistics()
描述:显示在所有CN上正在执行的作业的负载管理(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)记录。该函数只有sysadmin权限的用户可以执行。
返回值类型:record
-
描述:显示当前集群下所有CN的当前用户查询相关的信息,该函数仅具有sysadmin或者Monitor admin权限的用户可以执行,普通用户可查看本用户的相关信息。
返回值类型:record
名称
类型
描述
coorname
text
当前集群下的CN名称。
datid
oid
用户会话在后台连接到的数据库OID。
datname
text
用户会话在后台连接到的数据库名称。
pid
bigint
后台线程ID。
sessionid
bigint
会话ID。
usesysid
oid
登录该后台的用户OID。
usename
text
登录该后台的用户名。
application_name
text
连接到该后台的应用名。
client_addr
inet
连接到该后台的客户端的IP地址。如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。
client_hostname
text
客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。
client_port
integer
客户端用于与后台通讯的TCP端口号,如果使用Unix套接字,则为-1。
backend_start
timestamp with time zone
该过程开始的时间,即当客户端连接服务器的时间。
xact_start
timestamp with time zone
启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。
query_start
timestamp with time zone
开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。
state_change
timestamp with time zone
上次状态改变的时间。
waiting
boolean
如果后台当前正等待锁则为true。
enqueue
text
语句当前排队状态。可能值是:- waiting in queue:表示语句在排队中。
- 空:表示语句正在运行。
state
text
该后台当前总体状态。可能值是:- active:后台正在执行一个查询。
- idle:后台正在等待一个新的客户端命令。
- idle in transaction:后台在事务中,但事务中没有语句在执行。
- idle in transaction (aborted):后台在事务中,但事务中有语句执行失败。
- fastpath function call:后台正在执行一个fast-path函数。
- disabled:如果后台禁用track_activities,则报告这个状态。
说明:只有系统管理员能查看到自己账户所对应的会话状态。其他账户的state信息为空。例如以judy用户连接数据库后,在pgxc_stat_activity中查看到的普通用户joe及初始用户omm的state信息为空:
SELECT datname, usename, usesysid, state,pid FROM pgxc_stat_activity;
datname | usename | usesysid | state | pid ----------+---------+----------+--------+----------------- postgres | omm | 10 | | 139968752121616 postgres | omm | 10 | | 139968903116560 db_tpcds | judy | 16398 | active | 139968391403280 postgres | omm | 10 | | 139968643069712 postgres | omm | 10 | | 139968680818448 postgres | joe | 16390 | | 139968563377936 (6 rows)
resource_pool
name
用户使用的资源池。
query_id
bigint
查询语句的ID。
query
text
该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。
global_sessionid
text
全局会话ID。
unique_sql_id
bigint
语句的unique sql id。
trace_id
text
驱动传入的trace id,与应用的一次请求相关联。
-
pgxc_stat_activity_with_conninfo()
描述:显示当前集群下所有CN的当前用户查询相关的信息,返回值定义参考pgxc_stat_activity视图。该函数仅具有sysadmin或者Monitor admin权限的用户可以执行,普通用户只能查看本用户相关的信息。
返回值类型:record
- pgxc_stat_all_tables()
描述:显示各节点数据中每个表(包括TOAST表)的一行的统计信息,该函数仅具有sysadmin或者Monitor admin权限的用户可以执行。
返回值类型:record
- pgxc_get_thread_wait_status()
描述:查看集群各个节点上所有SQL语句产生的线程之间的调用层次关系,以及各个线程的阻塞等待状态。
返回值类型:record
-
pgxc_wlm_get_workload_records()
描述:显示在所有CN上正在执行的作业的状态信息。需要系统管理员权限才可以执行该函数。
返回值类型:record
- pv_session_memory
描述:统计Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存。
若GUC参数enable_memory_limit=off,该函数不能使用。
返回值类型:record
表2 返回值说明 名称
类型
描述
sessid
text
线程启动时间+线程标识。
init_mem
integer
当前正在执行作业进入执行器前已分配的内存,单位MB。
used_mem
integer
当前正在执行作业已分配的内存,单位MB。
peak_mem
integer
当前正在执行作业已分配的内存峰值,单位MB。
- dbe_perf.gs_stat_activity_timeout(int)
描述:获取当前节点上执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。
返回值类型:setof record
名称
类型
描述
database
name
用户会话连接的数据库名称。
pid
bigint
后台线程ID。
sessionid
bigint
会话ID。
usesysid
oid
登录该后台的用户OID。
application_name
text
连接到该后台的应用名。
query
text
该后台正在执行的查询。
xact_start
timestamptz
启动当前事务的时间。
query_start
timestamptz
开始当前查询的时间。
query_id
bigint
查询语句ID。
- dbe_perf.global_stat_activity_timeout(int)
描述:获取当前系统(所有CN)中执行时间超过超时阈值的查询作业信息。需要GUC参数track_activities设置为on才能正确返回结果。超时阈值的取值范围是0~2147483。
返回值类型:setof record
名称
类型
描述
nodename
text
用户会话连接的coordinate node的名称。
database
name
用户会话连接的数据库名称。
pid
bigint
后台线程ID。
sessionid
bigint
会话ID。
usesysid
oid
登录该后台的用户OID。
application_name
text
连接到该后台的应用名。
query
text
该后台正在执行的查询。
xact_start
timestamptz
启动当前事务的时间。
query_start
timestamptz
开始当前查询的时间。
query_id
bigint
查询语句ID。
- dbe_perf.get_average_value()
描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。
返回值类型:record
- DBE_PERF.get_global_active_session()
描述:显示所有节点上的ATIVE SESSION PROFILE内存中的样本的汇总。
返回值类型:record
- DBE_PERF.get_global_os_runtime()
描述:显示当前操作系统运行的状态信息,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_os_threads()
描述:提供整个集群中所有正常节点下的线程状态信息,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_os_threads()
描述:提供整个集群中所有正常节点下的线程状态信息,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_workload_sql_count()
描述:提供整个集群中不同负载SELECT,UPDATE,INSERT,DELETE,DDL, DML,DCL计数信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_workload_sql_elapse_time()
描述:提供整个集群中不同负载SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_workload_transaction()
描述:获取集群内所有节点上的事务量信息,事务时间信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_session_stat()
描述:获取集群内所有节点上的会话状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型: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()
描述:提供整个集群各节点各个关键阶段的时间消耗。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_session_memory()
描述:汇聚各节点的Session级别的内存使用情况,包含执行作业在数据节点上Postgres线程和Stream线程分配的所有内存,单位为MB。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_session_memory_detail()
描述:汇聚各节点的线程的内存使用情况,以MemoryContext节点来统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_session_stat_activity()
描述:汇聚集群内各节点上正在运行的线程相关的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_thread_wait_status()
描述:汇聚所有节点上工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_wlm_controlgroup_ng_config()
描述:数据库内所有的控制组信息。集群创建后的默认情况下,查询该函数必须具有sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_wlm_workload_runtime()
描述:汇聚当前用户在每个CN上执行作业时在CN上的状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_operator_ec_history()
描述:汇聚当前用户在每个CN上EC算子的历史状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_operator_ec_history_table()
描述:汇聚当前用户在每个CN上EC算子的历史状态信息(持久化)。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_operator_ec_runtime()
描述:汇聚当前用户在每个CN上EC算子的实时状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_operator_history_table()
描述:汇聚当前用户所有CN上执行作业结束后的算子相关记录(持久化)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_operator_history()
描述:汇聚当前用户所有CN上执行作业结束后的算子相关记录。集群创建后的默认情况下,查询该函数必须具有monadminsysadmin权限。
返回值类型:record
- DBE_PERF.get_global_operator_runtime()
描述:汇聚当前用户所有CN上执行作业实时的算子相关记录。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_statement_complex_history()
描述:汇聚当前用户所有CN节点上复杂查询的历史记录。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statement_complex_history_table()
描述:汇聚当前用户所有CN节点上复杂查询的历史记录(持久化)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statement_complex_runtime()
描述:汇聚当前用户所有CN节点上复杂查询的实时信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_memory_node_detail()
描述:汇聚某个数据库在所有节点上的内存使用情况。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_shared_memory_detail()
描述:汇聚所有节点已产生的共享内存上下文的使用信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_comm_delay()
描述:汇聚所有DN节点的通信库时延状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_comm_recv_stream()
描述:汇聚所有DN节点的通信库接收流状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_comm_send_stream()
描述:汇聚所有DN节点的通信库发送流状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_comm_status()
描述:汇聚所有DN节点的通信库状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_all_indexes
描述:汇聚所有节点当前数据库中的索引信息及I/O统计量。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_local_toastname_and_toastindexname()
描述:提供本地toast表的name和index和其关联表的对应关系。
返回值类型:record
- DBE_PERF.get_summary_statio_all_indexes
描述:统计所有节点当前数据库中的每个索引行,显示特定索引的I/O的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_all_sequences
描述:提供命名空间中所有sequences的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_all_tables
描述:汇聚各节点的数据库中每个表I/O的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_statio_all_tables
描述:统计集群内数据库中每个表I/O的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_local_toast_relation()
返回值类型:record
- DBE_PERF.get_global_statio_sys_indexes()
描述:汇聚各节点的命名空间中所有系统表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_statio_sys_indexes()
描述:统计各节点的命名空间中所有系统表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_sys_sequences()
描述:提供命名空间中所有系统表为sequences的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_sys_tables()
描述:提供各节点的命名空间中所有系统表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_statio_sys_tables()
描述:集群内汇聚命名空间中所有系统表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_user_indexes()
描述:各节点的命名空间中所有用户关系表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_statio_user_indexes()
描述:集群内汇聚命名空间中所有用户关系表索引的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_user_sequences()
描述:显示各节点的命名空间中所有用户的sequences的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_statio_user_tables()
描述:显示各节点的命名空间中所有用户关系表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_statio_user_tables()
描述:集群内汇聚命名空间中所有用户关系表的IO状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_stat_db_cu()
描述:视图查询集群各个节点,每个数据库的CU命中情况。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_dn_stat_all_tables()
描述:汇聚DN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_cn_stat_all_tables()
描述:汇聚CN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_dn_stat_all_tables()
描述:统计DN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_cn_stat_all_tables()
描述:统计CN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_all_indexes()
描述:汇聚所有节点数据库中每个索引的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_all_indexes()
描述:统计所有节点数据库中每个索引的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_sys_tables()
描述:汇聚各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_sys_tables()
描述:统计各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_sys_indexes()
描述:汇聚各节点pg_catalog、information_schema模式中所有系统表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_sys_indexes()
描述:统计各节点pg_catalog、information_schema模式中所有系统表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_user_tables()
描述:汇聚所有命名空间中用户自定义普通表的状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_user_tables()
描述:统计所有命名空间中用户自定义普通表的状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_user_indexes()
描述:汇聚所有数据库中用户自定义普通表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_user_indexes()
描述:统计所有数据库中用户自定义普通表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_database()
描述:汇聚所有节点数据库统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_database_conflicts()
描述:统计所有节点数据库统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_xact_all_tables()
描述:汇聚命名空间中所有普通表和toast表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_xact_all_tables()
描述:统计命名空间中所有普通表和toast表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_xact_sys_tables()
描述:汇聚所有节点命名空间中系统表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_xact_sys_tables()
描述:统计所有节点命名空间中系统表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_xact_user_tables()
描述:汇聚所有节点命名空间中用户表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_stat_xact_user_tables()
描述:统计所有节点命名空间中用户表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_user_functions()
描述:汇聚所有节点命名空间中用户定义函数的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_xact_user_functions()
描述:统计所有节点命名空间中用户定义函数的事务状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_stat_bad_block()
描述:汇聚所有节点表、索引等文件的读取失败信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_file_redo_iostat()
描述:统计所有节点表、索引等文件的读取失败信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_file_iostat()
描述:汇聚所有节点数据文件IO的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_locks()
描述:汇聚所有节点的锁信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_replication_slots()
描述:汇聚所有节点上逻辑复制信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_bgwriter_stat()
描述:汇聚所有节点后端写进程活动的统计信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_replication_stat()
描述:汇聚各节点日志同步状态信息,如发起端发送日志位置,收端接收日志位置等。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_pooler_status()
描述:汇聚所有CN节点的pooler中的缓存连接状态。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_transactions_running_xacts()
描述:汇聚各节点运行事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_transactions_running_xacts()
描述:统计各节点运行事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_transactions_prepared_xacts()
描述:汇聚各节点当前准备好进行两阶段提交的事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_transactions_prepared_xacts()
描述:统计各节点当前准备好进行两阶段提交的事务的信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_statement()
描述:汇聚各节点历史执行语句状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin和sysadmin权限。
返回值类型:record
- DBE_PERF.get_global_statement_count()
描述:汇聚各节点SELECT,UPDATE,INSERT,DELETE,响应时间信息(TOTAL,AVG, MIN, MAX)。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_config_settings()
描述:汇聚各节点GUC参数配置信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_wait_events()
描述:汇聚各节点wait events状态信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_statement_responsetime_percentile()
描述:获取集群SQL响应时间P80,P95分布信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_summary_user_login()
描述:统计集群各节点用户登入登出次数信息。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.get_global_record_reset_time()
描述:汇聚集群统计信息重置(重启,主备倒换,数据库删除)时间。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- DBE_PERF.track_memory_context(context_list text)
描述:设置需要统计内存申请详细信息的内存上下文。入参为内存上下文的名称,使用“,”分隔,如“ThreadTopMemoryContext, SessionCacheMemoryContext”,注意该内存上下文名称是上下文敏感的。此外,单个内存上下文的长度为63,超过的部分会被截断。而且一次能够统计的内存上下文上限为16个,设置超过16个内存上下文会设置失败。每一次调用该函数都会将上次统计的结果清空,当入参指定为“”时,表示取消该统计功能。只有初始用户或者具有monadmin权限的用户可以执行该函数。
返回值类型:boolean
- DBE_PERF.track_memory_context_detail()
描述:获取DBE_PERF.track_memory_context函数指定的内存上下文的内存申请详细信息。返回值的定义见视图DBE_PERF.track_memory_context_detail。只有初始用户或者具有monadmin权限的用户可以执行该函数。
返回值类型:record
- DBE_PERF.global_io_wait_info()
返回值类型: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()
返回值类型:record
- DBE_PERF.get_global_rel_iostat()
描述:汇聚所有节点数据文件IO的统计。集群创建后的默认情况下,查询该函数必须具有monadmin权限。
返回值类型:record
- pg_catalog.plancache_status()
描述:显示在当前节点上的全局计划缓存的状态信息。函数返回信息和GLOBAL_PLANCACHE_STATUS一致。
返回值类型:record
- DBE_PERF.global_plancache_status()
描述:显示在所有节点上的全局计划缓存的状态信息。函数返回信息见字段GLOBAL_PLANCACHE_STATUS。
返回值类型:record
- pg_catalog.prepare_statement_status()(废弃)
描述:显示在当前节点上的prepare statement状态信息。函数返回信息和
GLOBAL_PREPARE_STATEMENT_STATUS(废弃)一致。
返回值类型:record
- DBE_PERF.global_prepare_statement_status()(废弃)
描述:显示在所有节点上的prepare statement的状态信息。函数返回信息见字段GLOBAL_PREPARE_STATEMENT_STATUS(废弃)。
返回值类型:record
- DBE_PERF.global_threadpool_status()
描述:显示在所有节点上的线程池中工作线程及会话的状态信息。函数返回信息见字段18.7.14-表 GLOBAL_THREADPOOL_STATUS。
返回值类型:record
- comm_check_connection_status
描述:返回该CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,普通用户可使用。
参数:nan
返回值类型:node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, no_error_occur boolean
- DBE_PERF.global_comm_check_connection_status
描述:返回所有CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,权限控制继承DBE_PERF schema。
参数:nan
返回值类型:node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, no_error_occur boolean
- create_wlm_instance_statistics_info
参数:nan
返回值类型:integer
- remote_candidate_stat()
描述:显示本实例的候选buffer链中页面个数,buffer淘汰信息,包含normal buffer pool和segment buffer pool。
返回值类型:record
表3 remote_candidate_stat参数说明 名称
类型
描述
node_name
text
节点名称。
candidate_slots
integer
当前Normal Buffer Pool候选buffer链中页面个数。
get_buf_from_list
bigint
Normal Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。
get_buf_clock_sweep
bigint
Normal Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。
seg_candidate_slots
integer
当前Segment Buffer Pool候选buffer链中页面个数。
seg_get_buf_from_list
bigint
Segment Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。
seg_get_buf_clock_sweep
bigint
Segment Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。
- remote_ckpt_stat()
描述:用于显示整个集群所有实例的检查点信息和各类日志刷页情况(本节点除外、DN上不可使用)。
返回值类型:record
表4 remote_ckpt_stat参数说明 参数
类型
描述
node_name
text
实例名称。
ckpt_redo_point
text
当前实例的检查点。
ckpt_clog_flush_num
int8
从启动到当前时间clog刷盘页面数。
ckpt_csnlog_flush_num
int8
从启动到当前时间csnlog刷盘页面数。
ckpt_multixact_flush_num
int8
从启动到当前时间multixact刷盘页面数。
ckpt_predicate_flush_num
int8
从启动到当前时间predicate刷盘页面数。
ckpt_twophase_flush_num
int8
从启动到当前时间twophase刷盘页面数。
- remote_double_write_stat()
描述:显示整个集群所有实例的双写文件的情况(本节点除外、DN上不可使用)。
返回值类型:record
表5 remote_double_write_stat参数说明 参数
类型
描述
node_name
text
实例名称。
curr_dwn
int8
当前双写文件的序列号。
curr_start_page
int8
当前双写文件恢复起始页面。
file_trunc_num
int8
当前双写文件复用的次数。
file_reset_num
int8
当前双写文件写满后发生重置的次数。
total_writes
int8
当前双写文件总的I/O次数。
low_threshold_writes
int8
低效率写双写文件的I/O次数(一次I/O刷页数量少于16页面)。
high_threshold_writes
int8
高效率写双写文件的I/O次数(一次I/O刷页数量多于一批,421个页面)。
total_pages
int8
当前刷页到双写文件区的总的页面个数。
low_threshold_pages
int8
低效率刷页的页面个数。
high_threshold_pages
int8
高效率刷页的页面个数。
file_id
int8
当前双写文件的id号。
- remote_single_flush_dw_stat()
描述:显示整个集群所有实例的单页面淘汰双写文件的情况(本节点除外、DN上不可使用)。
返回值类型:record
表6 remote_single_flush_dw_stat参数说明 参数
类型
描述
node_name
text
实例名称。
curr_dwn
integer
当前双写文件的序列号。
curr_start_page
integer
当前双写文件start位置。
total_writes
bigint
当前双写文件总计写数据页面个数。
file_trunc_num
bigint
当前双写文件复用的次数。
file_reset_num
bigint
当前双写文件写满后发生重置的次数。
- remote_pagewriter_stat()
描述:显示整个集群所有实例的刷页信息和检查点信息(本节点除外、DN上不可使用)。
返回值类型:record
表7 remote_pagewriter_stat参数说明 参数
类型
描述
node_name
text
实例名称。
pgwr_actual_flush_total_num
int8
从启动到当前时间总计刷脏页数量。
pgwr_last_flush_num
int4
上一批刷脏页数量。
remain_dirty_page_num
int8
当前预计还剩余多少脏页。
queue_head_page_rec_lsn
text
当前实例的脏页队列第一个脏页的recovery_lsn。
queue_rec_lsn
text
当前实例的脏页队列的recovery_lsn。
current_xlog_insert_lsn
text
当前实例XLog写入的位置。
ckpt_redo_point
text
当前实例的检查点。
- remote_recovery_status()
描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。
返回值类型:record
表8 remote_recovery_status参数说明 参数
类型
描述
node_name
text
节点的名称,包含主机和备机。
standby_node_name
text
备机名称。
source_ip
text
主机的IP地址。
source_port
int4
主机的端口号。
dest_ip
text
备机的IP地址。
dest_port
int4
备机的端口号。
current_rto
int8
备机当前的日志流控时间,单位秒。
target_rto
int8
备机通过GUC参数设置的预期流控时间,单位秒。
current_sleep_time
int8
为了达到这个预期主机所需要的睡眠时间,单位微秒。
- remote_rto_status()
描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。
返回值类型:record
表9 remote_rto_status参数说明 参数
类型
描述
node_name
text
节点的名称,包含主机和备机。
rto_info
text
流控的信息,包含了备机当前的日志流控时间(单位:秒),备机通过GUC参数设置的预期流控时间(单位:秒),为了达到这个预期主机所需要的睡眠时间(单位:微秒)。
- remote_redo_stat()
描述:显示整个集群所有实例的日志回放情况(本节点除外、DN上不可使用)。
返回值类型:record
表10 remote_redo_stat参数说明 参数
类型
描述
node_name
text
实例名称。
redo_start_ptr
int8
当前实例日志回放的起始点。
redo_start_time
int8
当前实例日志回放的起始UTC时间。
redo_done_time
int8
当前实例日志回放的结束UTC时间。
curr_time
int8
当前实例的当前UTC时间。
min_recovery_point
int8
当前实例日志的最小一致性点位置。
read_ptr
int8
当前实例日志的读取位置。
last_replayed_read_ptr
int8
当前实例的日志回放位置。
recovery_done_ptr
int8
当前实例启动完成时的回放位置。
read_xlog_io_counter
int8
当前实例读取回放日志的io次数计数。
read_xlog_io_total_dur
int8
当前实例读取回放日志的io总时延。
read_data_io_counter
int8
当前实例回放过程中读取数据页面的io次数计数。
read_data_io_total_dur
int8
当前实例回放过程中读取数据页面的io总时延。
write_data_io_counter
int8
当前实例回放过程中写数据页面的io次数计数。
write_data_io_total_dur
int8
当前实例回放过程中写数据页面的io总时延。
process_pending_counter
int8
当前实例回放过程中日志分发线程的同步次数计数。
process_pending_total_dur
int8
当前实例回放过程中日志分发线程的同步总时延。
apply_counter
int8
当前实例回放过程中回放线程的同步次数计数。
apply_total_dur
int8
当前实例回放过程中回放线程的同步总时延。
speed
int8
当前实例日志回放速率。
local_max_ptr
int8
当前实例启动成功后本地收到的回放日志的最大值。
primary_flush_ptr
int8
主机落盘日志的位置。
worker_info
text
当前实例回放线程信息,若没有开并行回放则该值为空。
- PGXC_GTM_SNAPSHOT_STATUS()
描述:用于查看当前GTM上事务信息,仅在GTM模式下支持本系统函数,GTM-LITE和GTM-FREE模式下不支持。
返回值类型:record
函数返回字段描述如下:表11 PGXC_GTM_SNAPSHOT_STATUS返回参数说明 名称
类型
描述
xmin
xid
仍在运行的最小事务号。
xmax
xid
已完成的所有事务号中最大事务号的下一个事务号。
csn
integer
待提交事务的序列号。
oldestxmin
xid
当前最早的活跃事务在其取快照时,所有运行事务号最小的事务。
xcnt
integer
当前活跃的事务个数。
running_xids
text
当前活跃的事务号。
- pg_stat_get_partition_tuples_hot_updated
参数:oid
返回值类型:bigint
- pv_os_run_info
描述:显示当前操作系统运行的状态信息,具体字段信息参考PV_OS_RUN_INFO。
参数:nan
返回值类型:setof record
- pv_session_stat
描述:以会话线程或AutoVacuum线程为单位,统计会话状态信息,具体字段信息参考PV_SESSION_STAT。
参数:nan
返回值类型:setof record
- pv_session_time
描述:用于统计会话线程的运行时间信息,及各执行阶段所消耗时间,具体字段信息参考PV_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
- local_redo_time_count()
描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。
返回值如下:表12 local_redo_time_count返回参数说明 字段名
描述
thread_name
线程名字
step1_total
step1的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:从队列中获取一条日志
- redo manager:从队列中获取一条日志
- redo worker:从队列中获取一条日志
- trxn manager:从队列中读取一条日志
- trxn worker:从队列中读取一条日志
- read worker:从文件中读取一次xlog page(整体)
- read page worker:从队列中获取一个日志
- startup:从队列中获取一个日志
并行回放:
- page redo:从队列中获取一条日志
- startup:读取一条日志
step1_count
step1的统计次数
step2_total
step2的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:处理日志(整体)
- redo manager:处理日志(整体)
- redo worker:处理日志(整体)
- trxn manager:处理日志(整体)
- trxn worker:处理日志(整体)
- redo worker:读取xlog page耗时
- read page worker:生成和发送lsn forwarder
- startup:check stop(是否回放到指定位置)
并行回放:
page redo:处理日志(整体)
startup:check stop(是否回放到指定位置)
step2_count
step2的统计次数
step3_total
step3的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:更新standbystate
- redo manager:数据日志处理
- redo worker:回放page也日志(整体)
- trxn manager:更新flush lsn
- trxn worker:回放日志处理
- redo worker:推进xlog segment
- read page worker:获取一个新的item
- startup:redo delay(延迟回放特性等待时间)
并行回放:
- page redo:更新standbystate
- startup:redo delay(延迟回放特性等待时间)
step3_count
step3的统计次数
step4_total
step4的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:解析xlog
- redo manager:DDL处理
- redo worker:读取数据page页
- trxn manager:同步等待时间
- trxn worker:更新本线程lsn
- read page worker:将日志放入分发线程
- startup:分发(整体)
并行回放:
- page redo:undo 日志回放
- startup:分发(整体)
step4_count
step4的统计次数
step5_total
step5的总时间,每个线程对应的流程如下:
极致RTO:
- batch redo:分发给redo manager
- redo manager:分发给redo worker
- redo worker:回放数据page页的日志
- trxn manager:分发给trxn worker
- trxn worker:强同步wait时间
- read page worker:更新本线程lsn
- startup:日志decode
并行回放:
- page redo:sharetrxn 日志回放
- startup:日志回放
step5_count
step5的统计次数
step6_total
step6的总时间,每个线程对应的流程如下:
极致RTO:
- redo worker:回放非数据页page日志
- trxn manager:全局lsn更新
- read page worker:日志crc校验
并行回放:
- page redo:synctrxn 日志回放
- startup:强同步等待
step6_count
step6的统计次数
step7_total
step7的总时间,每个线程对应的流程如下:
极致RTO:
- redo manager:创建表空间
- redo worker:fsm更新
并行回放:
page redo:single 日志回放
step7_count
step7的统计次数
step8_total
step8的总时间,每个线程对应的流程如下:
极致RTO:
redo worker:强同步等待
并行回放:
page redo:all workers do 日志回放
step8_count
step8的统计次数
step9_total
step9的总时间,每个线程对应的流程如下:
极致RTO:
无
并行回放:
page redo:muliti workers do 日志回放
step9_count
step9的统计次数
- local_xlog_redo_statics()
描述:返回本节点已经回放的各个类型的日志统计信息(仅在备机上有有效数据)。
返回值如下:表13 local_xlog_redo_statics返回参数说明 字段名
描述
xlog_type
日志类型
rmid
resource manager id
info
xlog operation
num
日志个数
extra
针对page回放日志和xact日志有有效值。page页回放日志类型表示从磁盘读取page的个数。xact日志类型表示删除文件的个数。
- remote_bgwriter_stat()
描述:显示整个集群所有实例的bgwriter线程刷页信息,候选buffer链中页面个数,buffer淘汰信息(本节点除外、DN上不可使用)。
返回值类型:record
表14 remote_bgwriter_stat参数说明 参数
类型
描述
node_name
text
实例名称。
bgwr_actual_flush_total_num
bigint
从启动到当前时间bgwriter线程总计刷脏页数量。
bgwr_last_flush_num
integer
bgwriter线程上一批刷脏页数量。
candidate_slots
integer
当前候选buffer链中页面个数。
get_buffer_from_list
bigint
buffer淘汰从候选buffer链中获取页面的次数。
get_buf_clock_sweep
bigint
buffer淘汰从原淘汰方案中获取页面的次数。
示例:
pg_backend_pid函数显示当前后台服务线程ID。
1 2 3 4 5
openGauss=# SELECT pg_backend_pid(); pg_backend_pid ----------------- 139706243217168 (1 row)
pg_stat_get_backend_pid函数显示后台线程ID。
1 2 3 4 5
openGauss=# SELECT pg_stat_get_backend_pid(1); pg_stat_get_backend_pid ------------------------- 139706243217168 (1 row)
- gs_stack()
描述:显示线程调用栈。查询该函数需要有sysadmin权限或者monadmin权限。
参数:tid,线程id。tid是可选参数,指定tid参数时,函数返回tid对应线程调用栈;当不指定tid参数时,函数返回所有线程的调用栈。
返回值:当指定tid时,返回值为text;当不指定tid时,返回值为setof record。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13
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)