网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
云原生应用网络 ANC
人工智能
AI开发平台ModelArts
盘古大模型 PanguLargeModels
图引擎服务 GES
AI科学计算服务
自动驾驶云服务 Octopus
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
华为HiLens
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
认证测试中心 CTC
边缘安全 EdgeSec
专属云
专属计算集群 DCC
云化转型
云架构中心
云采用框架
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
大数据
MapReduce服务 MRS
数据湖探索 DLI
数据仓库服务 GaussDB(DWS)
云搜索服务 CSS
数据治理中心 DataArts Studio
表格存储服务 CloudTable
可信智能计算服务 TICS
数据接入服务 DIS
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
数智融合计算服务 DataArtsFabric
推荐系统 RES
数据可视化 DLV
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
政企自服务管理 ESM
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
盘古Doer
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
解决方案工作台
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
人工智能
AI开发平台ModelArts
盘古大模型 PanguLargeModels
图引擎服务 GES
AI科学计算服务
自动驾驶云服务 Octopus
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
华为HiLens
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
认证测试中心 CTC
边缘安全 EdgeSec
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MgC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
弹性内存存储 EMS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
大数据
MapReduce服务 MRS
数据湖探索 DLI
数据仓库服务 GaussDB(DWS)
云搜索服务 CSS
数据治理中心 DataArts Studio
表格存储服务 CloudTable
可信智能计算服务 TICS
数据接入服务 DIS
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
数智融合计算服务 DataArtsFabric
推荐系统 RES
数据可视化 DLV
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
盘古Doer
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
解决方案工作台
数字化诊断治理专家服务
价格
成本优化最佳实践
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
本文导读

展开导读

统计信息函数

更新时间:2025-05-29 GMT+08:00
分享

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

pg_stat_get_db_conflict_tablespace(oid)

描述:由于恢复与数据库中删除的表空间发生冲突而取消的查询数。

返回值类型:bigint

pg_stat_get_db_conflict_truncate(oid)

描述:由于与数据库中在回放的truncate操作发生冲突而取消的查询数。

返回值类型:bigint

pg_stat_get_db_conflict_force_recycle(oid)

描述:由于极致RTO备机读触发强制回收而取消的查询数。

返回值类型:bigint

pg_stat_get_db_conflict_standby_query_timeout(oid)

描述:由于超过极致RTO备机读设置的查询时间上限而取消的查询数。

返回值类型:bigint

pg_stat_get_db_conflict_bufferpin(oid)

描述:冲突的缓冲区数目。

返回值类型:bigint

pg_stat_get_db_conflict_snapshot(oid)

描述:冲突的快照数目。

返回值类型:bigint

pg_stat_get_db_conflict_startup_deadlock(oid)

描述:冲突的死锁数目。

返回值类型:bigint

pg_stat_get_db_conflict_all(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)

描述:当前事务中该函数所花费的总挂钟时间(以微秒为单位)。包括花费在此函数内部调用其它函数上的时间。

返回值类型:bigint

pg_lock_status()

描述:查询打开事务所持有的锁信息,所有用户均可执行该函数。

返回值类型:返回字段请参见PG_LOCKS视图返回字段,该视图是通过查询本函数得到的结果。

bucket_lock_status()

描述:查询打开事务所持有的bucket锁信息,所有用户均可执行该函数。

返回值类型:返回字段请参见GS_BUCKET_LOCKS视图返回字段中除node_name之外的字段。

gs_bucket_lock_status()

描述:查询所有节点中的打开事务所持有的bucket锁信息,所有用户均可执行该函数。

返回值类型:返回字段请参见GS_BUCKET_LOCKS视图返回字段,该视图是通过查询本函数得到的结果。

gs_lwlock_status()

描述:查询数据库系统内所有轻量级锁信息,包括等锁和持锁信息,所有用户均可执行该函数。

返回值类型:setof record

pg_stat_get_wal_senders()

描述:在主机端查询walsender信息。

返回值类型:setof record

返回字段说明如下:

表1 返回字段说明

字段名称

字段类型

字段说明

pid

bigint

walsender的线程号。

sender_pid

integer

walsender的pid相对的轻量级线程号。

local_role

text

主节点类型。

peer_role

text

备节点类型。

peer_state

text

备节点状态。

state

text

walsender状态。

catchup_start

timestamp with time zone

catchup启动时间。

catchup_end

timestamp with time zone

catchup结束时间。

sender_sent_location

text

主节点发送位置。

sender_write_location

text

主节点落盘位置。

sender_flush_location

text

主节点flush磁盘位置。

sender_replay_location

text

主节点redo位置。

receiver_received_location

text

备节点接收位置。

receiver_write_location

text

备节点落盘位置。

receiver_flush_location

text

备节点flush磁盘位置。

receiver_replay_location

text

备节点redo磁盘位置。

sync_percent

text

同步百分比。

sync_state

text

同步状态。

sync_group

text

同步复制的所属分组。

sync_priority

text

同步复制的优先级。

sync_most_available

text

最大可用模式设置。

channel

text

walsender信道信息。

get_paxos_replication_info()

描述:查询Paxos模式下主机或备机的复制状态。

返回值类型:setof record

返回字段说明如下:

表2 返回字段说明

字段名称

字段类型

字段说明

paxos_write_location

text

已经写入DCF的XLog位置。

paxos_commit_location

text

已经在DCF中达成一致的XLog位置。

local_write_location

text

数据在节点上的存储路径。

local_flush_location

text

节点的flush磁盘位置。

local_replay_location

text

节点的redo磁盘位置。

dcf_replication_info

text

节点的DCF模块信息。字符串为JSON格式,其中各字段含义分别如下:

role:表示当前节点角色,角色可分为LEADER、FOLLOWER、LOGGER、PASSIVE、UNKNOW。

term:选举任期。

run_mode:DCF运行模式,当前0表示自动选举模式,1表示手动选举模式,2表示关闭选举模式。

work_mode:DCF工作模式。

hb_interval:DCF节点间心跳间隔时间,单位ms。

elc_timeout:DCF选举超时时间,单位ms。

applied_index:被应用到状态机的日志位置。

commit_index:已被大多数DCF节点保存的日志位置,此commit_index之前日志均已持久化。

first_index:DCF节点保存的首条日志位置,此位置会随着DN调用dcf_truncate而向后推进,之前的日志会被清理。

last_index:DCF节点保存的最后一条日志位置,此日志位置包含DCF节点存储在内存里但是没有持久化的日志。

cluster_min_apply_idx:集群最小已应用的日志位置。

leader_id:leader节点ID。

leader_ip:leader节点IP。

leader_port:leader节点端口,DCF内部使用 。

nodes:本集群其他节点信息,包含节点的id、ip、port、role等关键信息。

示例:

gaussdb=# select * from get_paxos_replication_info();
 paxos_write_location | paxos_commit_location | local_write_location | local_flush_location | local_replay_location |


                                                                                      dcf_replication_info



----------------------+-----------------------+----------------------+----------------------+-----------------------+---------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------
 38F/CD54F690         | 38F/CD54F690          | 38F/CD54F690         | 38F/CD546CF8         | 38F/CD546CF8          | {"stream_id":1,"local_node_id":1,"role":"LEADER","
term":1215,"run_mode":1,"work_mode":0,"stg_mode":1,"hb_interval":1000,"elc_timeout":3000,"auto_elc_pri_en":1,"elc_switch_thd":0,"group":0,"priority":3898464883456,"lead
er_group":0,"is_in_major":1,"applied_index":362830766,"commit_index":362830766,"first_index":355330879,"last_index":3916160068856,"last_term":1215,"dcf_last_index":3628
30766,"dcf_last_disk":362830754,"cluster_min_apply_idx":362830764,"cluster_mode":"primary_cluster","leader_id":1,"leader_ip":"*.*.*.*","leader_port":*,"nodes"
:[{"node_id":1,"ip":"*.*.*.*","port":*,"role":"LEADER","next_index":362830766,"match_index":362830765,"apply_index":362830765},{"node_id":2,"ip":"*.*.*.*
4","port":*,"role":"FOLLOWER","next_index":362830767,"match_index":362830766,"apply_index":362830765},{"node_id":3,"ip":"*.*.*.*","port":*,"role":"LOGGER"
,"next_index":362830767,"match_index":362830766,"apply_index":362830764}]}
(1 row)

pgxc_get_senders_catchup_time()

描述:在CN实例查询集群中是否存在处于日志追赶状态的备DN,以及追赶状态详情。

返回值类型:setof record

pg_stat_get_stream_replications()

描述:查询主备复制状态。

返回值类型:setof record

返回值说明如下表所示。

表3 返回值说明

返回参数

返回参数类型

返回参数说明

local_role

text

本地角色。

static_connections

integer

连接统计。

db_state

text

数据库状态。

detail_information

text

详细信息。

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_blk_read_time(oid)

描述:通过数据库后端读取数据文件块花费的时间,以毫秒计算。

返回值类型:double

pg_stat_get_db_blk_write_time(oid)

描述:通过数据库后端写入数据文件块花费的时间,以毫秒计算。

返回值类型:double

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和MONADMIN用户可以访问。

返回值类型:text

示例:

gaussdb=# 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)

描述:表死行数。在Ustore表中仅代表不活跃行指针数量。

返回值类型:bigint

pg_stat_get_blocks_fetched(oid)

描述:表或者索引的磁盘块抓取请求的数量。

返回值类型:bigint

pg_stat_get_blocks_hit(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_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

gs_stat_get_all_tabentries()

描述:在GUC参数enable_gsstat_cache设置为on时,用户可使用gs_stat_get_all_tabentries()获取其他节点的PgStat统计信息。内部函数,不建议用户直接使用。

返回值类型:setof record

返回参数说明如表4 返回参数说明所示。

表4 返回参数说明

返回参数

返回参数类型

返回参数说明

node_name

name

节点的名称(pgxc_node中的node_name)。

nspname

name

Schema名称。

relname

name

表、索引名称。

tuples_returned

bigint

如果是表,则返回顺序扫描读取的行数目。如果是索引,则返回索引行的数目。

tuples_fetched

bigint

如果是表,则用位图扫描抓取的行数目。如果是索引,则用简单索引扫描抓取的行数目。

tuples_inserted

bigint

插入表中行的数量。

tuples_updated

bigint

在表中已更新行的数量。

tuples_deleted

bigint

从表中删除行的数量。

tuples_hot_updated

bigint

热更新的行数表。

n_live_tuples

bigint

活行数表。

n_dead_tuples

bigint

死行数表。在Ustore表中仅代表不活跃行指针数量。

blocks_fetched

bigint

表或者索引的磁盘块抓取请求的数量。

blocks_hit

bigint

在缓冲区中找到的表或者索引的磁盘块请求数目。

numscans

bigint

如果是表,则返回顺序扫描读取的行数目。如果是索引,则返回索引行的数目。

autovac_vacuum_timestamp

timestamp with time zone

autovacuum守护进程在该表上最后一次启动清理的时间。

autovac_vacuum_count

bigint

autovacuum守护进程在该表上启动清理的次数。

autovac_analyze_timestamp

timestamp with time zone

autovacuum守护进程在该表上最后一次启动分析的时间。

autovac_analyze_count

bigint

autovacuum守护进程在该表上启动分析的次数。

state_change_timestamp

timestamp with time zone

返回DBE_PERF.stat_all_tables视图中对各表各项监控指标字段更新的时间。

index_stat_change_timestamp

timestamp with time zone

返回DBE_PERF.stat_all_indexes视图中对各表各项监控指标字段更新的时间。

state_io_change_timestamp

timestamp with time zone

返回DBE_PERF.statio_all_indexes, DBE_PERF.statio_all_tables视图中对各表各项监控指标字段更新的时间。

pg_total_autovac_tuples(bool)

描述:返回total autovac相关的tuple记录,如nodename、nspname、relname以及各类tuple的IUD信息,入参为:是否查询relation信息。

返回值类型:setof record

返回参数说明如下。

表5 返回参数说明

返回参数

返回参数类型

返回参数说明

nodename

name

节点名称。

nspname

name

名称空间名称。

relname

name

表、索引、视图等对象名称。

partname

name

分区名称。

n_dead_tuples

bigint

表分区内的死行数。在Ustore表中仅代表不活跃行指针数量。

n_live_tuples

bigint

表分区内的活行数。

changes_since_analyze

bigint

analyze产生改变的数量。

pg_total_gsi_autovac_tuples(bool)

描述:返回全部与autovac相关的tuple记录,如nodename、nspname、relname以及GSI自上次analyze操作之后发生变化的记录数,输入参数决定是否查询relation信息。该函数用于辅助autovacuum处理全局二级索引,不建议用户使用。

返回值类型:setof record

pg_autovac_status(oid)

描述:返回与autovac状态相关的参数信息,如nodename、nspname、relname、analyze、vacuum设置、analyze/vacuum阈值以及analyze/vacuum tuple数等。仅SYSADMIN可以使用该函数。

返回值类型:setof record

返回值参数说明如下。

表6 返回值参数说明

返回参数

返回参数类型

返回参数说明

nspname

text

名称空间名称。

relname

text

表、索引、视图等对象名称。

nodename

text

节点名称。

doanalyze

Boolean

是否执行analyze。

anltuples

bigint

analyze tuple数量。

anlthresh

bigint

analyze阈值。

dovacuum

Boolean

是否执行vacuum。

vactuples

bigint

vacuum tuple数量。

vacthresh

bigint

vacuum阈值。

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/truncate和在表的分区(partition/subpartition)上的修改exchange/truncate/drop,在该表上最后一次操作的时间,PG_STAT_ALL_TABLES视图last_data_changed列的数据是通过该函数求值,在表数量很大的场景中,通过视图获取表数据最后修改时间的性能较差,建议直接使用该函数获取表数据的最后修改时间。入参是表的oid。

返回值类型:timestamptz

pg_stat_set_last_data_changed_time(oid)

描述:手动设置该表上最后一次insert/update/delete, exchange/truncate/drop partition操作的时间。

返回值类型:void

pg_stat_get_last_updated(oid, text)

描述:返回DBE_PERF.stat_all_tables, DBE_PERF.stat_all_indexes, DBE_PERF.statio_all_indexes, DBE_PERF.statio_all_tables视图中对各表各项监控指标字段更新的时间。入参1为表的oid,入参2为text类型,取值为"stat_table", "stat_index", "stat_io"。

返回值类型:timestamptz

pg_backend_pid()

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

返回值类型:integer

pg_stat_get_activity(integer)

描述:返回一个关于带有特殊PID的后台线程的记录信息,当参数为NULL时,则返回每个活动的后台线程的记录。返回结果不包含connection_info列。初始用户、系统管理员和MONADMIN可以查看所有的数据,普通用户只能查询自己的结果。

示例:

gaussdb=# 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)

返回值类型:setof record

返回参数说明如下。

表7 返回参数说明

返回参数

返回参数类型

返回参数说明

datid

oid

用户会话在后台连接到的数据库OID。

pid

bigint

后台线程ID。

sessionid

bigint

会话ID。

usesysid

oid

登录该后台的用户OID。

application_name

text

连接到该后台的应用名。

state

text

该后台当前总体状态。

query

text

该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。

waiting

Boolean

如果后台当前正等待锁则为true。

xact_start

timestamp with time zone

启动当前事务的时间,如果没有事务是活跃的,则为null。

如果当前查询是首个事务,则这列等同于query_start列。

query_start

timestamp with time zone

开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。

backend_start

timestamp with time zone

该过程开始的时间,即当客户端连接服务器时。

state_change

timestamp with time zone

上次状态改变的时间。

client_addr

inet

连接到该后台的客户端的IP地址。如果此字段是null,表示客户端是通过服务器上的UNIX套接字连接的,或者是内部线程,如autovacuum。

client_hostname

text

客户端的主机名,这个字段是通过client_addr进行反向DNS查找得到的。这个字段只有在启动log_hostname且使用IP连接时才非空。

client_port

integer

客户端用于与后台通讯的TCP端口号,如果使用Unix套接字,则为-1。

enqueue

text

该字段暂不支持。

query_id

bigint

查询语句的ID。

srespool

name

资源池名字。

global_sessionid

text

全局会话id。

unique_sql_id

bigint

语句的unique sql id。

trace_id

text

驱动传入的trace id,与应用的一次请求相关联。

pg_stat_get_activity_with_conninfo(integer)

描述:返回一个关于带有特殊PID的后台线程的记录信息,当参数为NULL时,则返回每个活动的后台线程的记录。初始用户、系统管理员和MONADMIN可以查看所有的数据,普通用户只能查询自己的结果。

返回值类型:setof record

返回值说明如下。

返回值

返回值类型

返回值说明

datid

oid

用户会话在后台连接到的数据库OID。

pid

bigint

后台线程ID。

sessionid

bigint

会话ID。

usesysid

oid

登录该后台的用户OID。

application_name

text

连接到该后台的应用名。

state

text

该后台当前总体状态。

query

text

该后台的最新查询。如果state状态是active(活跃的),此字段显示当前正在执行的查询。所有其他情况表示上一个查询。

waiting

Boolean

如果后台当前正等待锁则为true。

xact_start

timestamp with time zone

启动当前事务的时间,如果没有事务是活跃的,则为null。如果当前查询是首个事务,则这列等同于query_start列。

query_start

timestamp with time zone

开始当前活跃查询的时间,如果state的值不是active,则这个值是上一个查询的开始时间。

backend_start

timestamp with time zone

该过程开始的时间,即当客户端连接服务器时。

state_change

timestamp with time zone

上次状态改变的时间。

client_addr

inet

连接到该后台的客户端的IP地址。如果此字段是null,表示客户端通过服务器上的UNIX套接字连接的,或者是内部线程,如autovacuum。

client_hostname

text

客户端的主机名,这个字段是通过client_addr进行反向DNS查找得到的。这个字段只有在启动log_hostname且使用IP连接时才非空。

client_port

integer

客户端用于与后台通讯的TCP端口号,如果使用Unix套接字,则为-1。

enqueue

text

该字段暂不支持。

query_id

bigint

查询语句的ID。

connection_info

text

json格式字符串,记录当前连接数据库的驱动类型、驱动版本号、当前驱动的部署路径、线程属主用户等信息。

srespool

name

资源池名字。

global_sessionid

text

全局会话ID。

unique_sql_id

bigint

语句的unique sql id。

trace_id

text

驱动传入的trace id,与应用的一次请求相关联。

top_xid

xid

事务的顶层事务ID。

current_xid

xid

事务的当前事务ID。

xlog_quantity

bigint

事务当前使用的XLOG量,单位为字节。

gs_get_explain(integer)

描述:返回一个关于指定PID的后台线程的运行态计划,PID不能为空。该功能生效的必要条件是GUC参数track_activities为on,支持语句的范围为可以explain且其计划不包含STREAM算子的SQL。详细说明如下:

  • 若GUC参数plan_collect_thresh=-1,则该函数的返回结果一直为空。
  • 若GUC参数plan_collect_thresh=0,若当前SQL执行时间大于等于GUC参数log_min_duration_statement指定值,且计划中所有算子处理的tuple数量和大于等于10000时,开始收集运行态计划;且后续每当所有算子处理tuple数量的和的增量超过10000时,进行一次收集。
  • 若GUC参数plan_collect_thresh>0,会按照该参数指定的阈值进行增量收集运行态计划。
  • 该函数只能看到在CN生成的计划,若查看在DN生成的计划,需要参考函数gs_get_dn_explain。

返回值类型:text,具体各个字段的类型和含义如下:

返回值

返回值类型

返回值说明

运行态计划字符串

text

其中计划字符串中的A-rows是算子实时返回行数。

gs_get_dn_explain(text, bigint)

描述:返回一个关于指定node name(来自pgxc_node系统表的node_name字段)和global session id的DN的后台线程的运行态计划,global session id不能为空。该功能生效的必要条件是GUC参数track_activities为on,支持语句的范围为可以explain且其计划不包含STREAM算子的SQL。详细说明如下:

  • 同函数gs_get_explain,其中global session id是由pg_stat_activity字段global_sessionid计算而来。global_sessionid格式如下:${number1}:${number2}#{number3},样例为1938253334:1#0,那么gs_get_dn_explain函数的参数值应为${number2}*10000000000+${number1}。
  • 另外该函数需要ADMIN或MONADMIN权限才可执行。
返回值类型:text,具体各个字段的类型和含义如下:

返回值

返回值类型

返回值说明

运行态计划字符串

text

其中计划字符串中的A-rows是算子实时返回行数。

pg_stat_get_activity_ng(integer)

描述:返回一个关于带有特殊PID的活跃后台线程记录信息,当参数为NULL时,则返回每个活跃的后台线程的记录。系统管理员和MONADMIN可以查看所有的数据,普通用户只能查询自己的结果。

返回值类型:setof record

函数返回字段说明如下:

名称

类型

描述

datid

oid

数据库oid。

pid

bigint

后端线程的ID。

sessionid

bigint

会话的id。

node_group

text

数据所属用户对应的node group。

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

描述:清理当前的统计快照。该函数仅SYSADMIN和MONADMIN可以执行。

返回值类型: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

pgxc_fenced_udf_process(integer)

描述:查看UDF Master和Work线程数,仅SYSADMIN和MONADMIN用户有权限执行。入参为1时查看master线程数,入参为2时查看worker线程数,入参为3时终止所有worker线程。

返回值类型:text

fenced_udf_process(integer)

描述:查看本地UDF Master和Work线程数。入参为1时查看master线程数,入参为2时查看worker线程数,入参为3时终止所有worker线程。

返回值类型:text

total_cpu()

描述:获取当前节点使用的cpu时间,单位是jiffies。

返回值类型:bigint

total_memory()

描述:获取当前节点使用的虚拟内存大小,单位KB。

返回值类型:bigint

pgxc_terminate_all_fenced_udf_process()

描述:Kill所有的UDF Work线程,仅SYSADMIN和MONADMIN用户有权限执行。

返回值类型:boolean

gs_get_nodegroup_tablecount(name)

描述:得到一个节点组中所有数据库包含的用户表数目。

返回值类型:integer

pgxc_max_datanode_size(name)

描述:得到一个node_group的所有DN节点中数据库文件占用磁盘空间的最大值,单位为字节。

返回值类型:bigint

gs_check_tables_distribution()

描述: 检查当前系统中用户表的分布是否存在不一致,如果返回空记录,表示不存在不一致。该函数应该在非扩缩容重分布时调用。

返回值类型:record

pg_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)

描述:获取当前节点自启动后,读取出现Page的损坏信息。

返回值类型:record

pgxc_stat_bad_block(text, int, int, int, int, int, timestamp with time zone, timestamp with time zone)

描述:获取集群所有节点自启动后,读取出现Page的损坏信息。

返回值类型:record

pg_stat_bad_block_clear()

描述:清理节点记录的读取出现的Page损坏信息(需要系统管理员权限)。

返回值类型:void

pgxc_stat_bad_block_clear

描述:清理集群所有节点记录的读取出现的Page损坏信息(需要系统管理员权限)。

返回值类型:void

pgxc_log_comm_status(void)

描述:当使用sctp(由于规格变更,当前版本已经不再支持本特性,请不要使用)通信模式时,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

gs_get_session_sql_memory()

描述:查看当前运行中语句的内存使用量。函数返回信息具体字段请参见SESSION_SQL_MEMORY

返回值类型:record

gs_get_global_session_sql_memory()

描述:查看当前所有节点上运行中语句的内存使用量。函数返回信息具体字段请参见GLOBAL_SESSION_SQL_MEMORY

返回值类型:record

gs_blackbox_dump()

描述:将系统中的黑匣子文件导出到“$GAUSSLOG/gs_blackbox/{nodename}”目录中。执行成功后返回在“$GAUSSLOG/gs_blackbox/{nodename}”中生成的黑匣子文件的名称。

返回值类型:text

gs_blackbox_show(blackBoxFile cstring)

描述:解析黑匣子文件,并按照表格方式展示。

参数:

参数名称

参数说明

取值范围

blackBoxFile

指定需要解析的黑匣子文件,不指定参数表示当前进程采集的黑匣子文件。

字符串,或者不指定,指定有效的黑匣子文件名字,则读取“$GAUSSLOG/gs_blackbox/nodename”目录下对应名称的文件。仅支持名称,不支持路径,如果在“$GAUSSLOG/gs_blackbox/nodename”下不存在对应名称的文件,则报错返回。

返回值类型:setof record

返回值说明如下:

返回值

返回值类型

返回值说明

type

text

黑匣子字段类型。

tid

bigint

线程号。

sample_time

timestamp

采集时间。

value

text

黑匣子记录的内容。

查询结果举例如下:

type

tid

sample_time

value

ERRNUMBER

123456

2024-03-19 09:33:17.386

19460

BLACK_BOX_PLSQL_EXCEPTION

45678

2024-03-19 09:33:18.396

message: "Dropped rowtype entry for non-dropped column when make tuple."

funcname: basic_make_tuple_from_row

filename:pl_exec.cpp

context:xxxx

gs_blackbox_list()

描述:列举当前实例黑匣子目录下的黑匣子文件。默认是“$GAUSSLOG/gs_blackbox/{nodename}”目录下。

返回值类型:setof record

返回值说明如下:

返回值

返回值类型

返回值说明

file

text

黑匣子文件名称。

get_instr_workload_info(integer)

描述:获取当前CN节点上事务量信息,事务时间信息。

返回值类型: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

后端事务总响应时间(单位:微秒)。

dbid

oid

数据库标识。

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

消耗在plpgsql执行上的时间总和(单位:微秒)。

PL_COMPILATION_TIME

557

消耗在SQL编译上的时间总和(单位:微秒)。

NET_SEND_TIME

1673

消耗在网络发送上的时间总和(单位:微秒)。

DATA_IO_TIME

426622

消耗在数据读写上的时间总和(单位:微秒)。

DBE_PERF.get_global_instance_time()

描述:提供整个集群各个关键阶段的时间消耗,仅在CN上支持查询。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型:record

get_instr_unique_sql()

描述:获取当前节点的执行语句(归一化SQL)信息,查询该函数必须具有SYSADMIN权限或者MONADMIN权限。函数返回信息具体字段请参见STATEMENT

返回值类型:record

get_instr_wait_event(integer)

描述:获取当前节点event等待的统计信息。

返回值类型:record

get_instr_user_login()

描述:获取当前节点的用户登录或者退出登录次数信息,查询该函数必须具有SYSADMIN或者MONADMIN权限。

返回值类型:record

get_instr_rt_percentile(integer)

描述:获取CCN节点SQL 响应时间P80、P95分布信息,集群统一的信息在CCN节点上,其他节点查询为0。

返回值类型:record

get_node_stat_reset_time()

描述:获取当前节点的统计信息重置(重启,主备倒换,数据库删除)时间。

返回值类型:record

gs_paxos_stat_replication()

描述:在主机端查询备机信息。

返回值类型:setof record

返回字段说明如下:

字段名称

字段类型

字段说明

local_role

text

发送日志节点的角色。

peer_role

text

接收日志节点的角色。

local_dcf_role

text

发送日志节点的DCF角色。

peer_dcf_role

text

接收日志节点的DCF角色。

peer_state

text

接收日志节点的状态。

sender_write_location

text

发送日志节点写到xlog buffer的位置。

sender_commit_location

text

发送日志节点DCF日志达成一致性点。

sender_flush_location

text

发送日志节点写到xlog disk的位置。

sender_replay_location

text

发送日志节点replay的位置。

receiver_write_location

text

接收日志节点写到xlog buffer的位置。

receiver_commit_location

text

接收日志节点DCF日志达成一致性点。

receiver_flush_location

text

接收日志节点写到xlog disk的位置。

receiver_replay_location

text

接收日志节点重演xlog的位置。

sync_percent

text

同步百分比。

dcf_run_mode

int4

DCF同步模式。

channel

text

信道信息。

gs_wlm_get_user_info(int)

描述:获取所有用户的相关信息,入参为int类型,可以为任意int值或NULL。该函数只有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_io_wait_status()

描述:返回当前节点I/O管控的实时统计信息。

返回值类型:setof record

名称

类型

描述

node_name

text

节点名称。

device_name

text

节点挂载的数据磁盘名称。

read_per_second

float

读完成每秒次数。

write_per_second

float

写完成每秒次数。

write_ratio

float

写磁盘占总的I/O使用的比例。

io_util

float

每秒I/O所占CPU总时间的百分比。

total_io_util

integer

过去三次I/O所占CPU总时间的等级(取值为0~6)。

tick_count

integer

更新磁盘IO信息的周期,固定为1秒,每次读取数据前都会被清零。

io_wait_list_len

integer

I/O请求线程等待队列的大小,若为0,则表示当前没有I/O被管控。

gs_get_shared_memctx_detail(text)

描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会进行累加)。只支持查询通过PG_SHARED_MEMORY_DETAIL视图查询出来的内存上下文,入参为内存上下文名称(即PG_SHARED_MEMORY_DETAIL返回结果的contextname列)。查询该函数需要具有SYSADMIN权限或者MONADMIN权限。

返回值类型:setof record

名称

类型

描述

file

text

申请内存所在文件的文件名。

line

int8

申请内存所在文件的代码行号。

size

int8

申请的内存大小,同一文件同一行多次申请会进行累加。

gs_get_session_memctx_detail(text)

描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会进行累加)。仅在线程池模式下生效。且只支持查询通过PV_SESSION_MEMORY_CONTEXT视图查询出来的内存上下文,入参为内存上下文名称(即PV_SESSION_MEMORY_CONTEXT返回结果的contextname列)。查询该函数需要具有SYSADMIN权限或者MONADMIN权限。

返回值类型:setof record

名称

类型

描述

file

text

申请内存所在文件的文件名。

line

int8

申请内存所在文件的代码行号。

size

int8

申请的内存大小,单位为byte,同一文件同一行多次申请会进行累加。

说明:

该视图仅在线程池模式下生效。

gs_get_thread_memctx_detail(tid,text)

描述:返回指定内存上下文上的内存申请的详细信息,包含每一处内存申请所在的文件、行号和大小(同一文件同一行大小会进行累加)。只支持查询通过PV_THREAD_MEMORY_CONTEXT视图查询出来的内存上下文,第一个入参为线程id(即PV_THREAD_MEMORY_CONTEXT返回数据的tid列),第二个参数为内存上下文名称(即PV_THREAD_MEMORY_CONTEXT返回数据的contextname列)。查询该函数必须具有SYSADMIN权限或者MONADMIN权限。

返回值类型:setof record

名称

类型

描述

file

text

申请内存所在文件的文件名。

line

int8

申请内存所在文件的代码行号。

size

int8

申请的内存大小,单位为byte,同一文件同一行多次申请会进行累加。

gs_get_history_memory_detail(cstring)

描述:查询历史内存快照信息,入参类型为cstring,取值为NULL或内存快照log文件名称:

  1. 若入参为NULL,则显示当前节点所有的内存快照log文件列表。
  2. 若入参为1查询到的列表中的内存快照log名称,则显示该log文件记录的内存快照详细信息。
  3. 若输入其他入参,则会提示入参错误或打开文件失败。

查询该函数必须具有SYSADMIN权限或者MONADMIN权限。

返回值类型: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
gaussdb=# 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)

名称

类型

描述

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
gaussdb=# 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
gaussdb=# 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()

描述:清理整个集群中热点key的统计信息。

返回值:boolean

1
2
3
4
5
gaussdb=# 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_stat_activity()

描述:显示当前集群下所有CN的当前用户查询相关的信息,仅具有SYSADMIN或者MONADMIN权限的用户可以执行此函数,普通用户可查看本用户的相关信息。505.0.0版本新增三列信息,灰度升级观察期中执行该函数会报错,此时,需使用PG_STAT_ACTIVITY直连目标节点进行查询。

返回值类型: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
----------+---------+----------+--------+-----------------
 testdb | omm     |       10 |        | 139968752121616
 testdb | omm     |       10 |        | 139968903116560
 db_tpcds | judy    |    16398 | active | 139968391403280
 testdb | omm     |       10 |        | 139968643069712
 testdb | omm     |       10 |        | 139968680818448
 testdb | 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,与应用的一次请求相关联。

top_xid

xid

事务的顶层事务ID。

current_xid

xid

事务的当前事务ID。

xlog_quantity

bigint

事务当前使用的XLOG量,单位为字节。

pgxc_stat_activity_with_conninfo()

描述:显示当前集群下所有CN的当前用户查询相关的信息,返回值定义参考PGXC_STAT_ACTIVITY视图。仅具有SYSADMIN或者MONADMIN权限的用户可以执行此函数,普通用户只能查看与其自身相关的信息。

返回值类型:record

pgxc_stat_all_tables()

描述:显示各节点数据中每个表(包括TOAST表)的一行的统计信息,仅具有SYSADMIN或者MONADMIN权限的用户可以执行此函数。

返回值类型:record

pgxc_get_thread_wait_status()

描述:查看集群各个节点上所有SQL语句产生的线程之间的调用层次关系,以及各个线程的阻塞等待状态。

返回值类型:record

pv_session_memory

描述:统计Session级别的内存使用情况,包含执行作业在数据节点上GaussDB线程和Stream线程分配的所有内存。

说明:

若GUC参数enable_memory_limit=off,该函数不能使用。

返回值类型:record

表8 返回值说明

名称

类型

描述

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。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型: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。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

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

描述:显示所有CN节点和主DN节点上的ACTIVE SESSION PROFILE内存中的样本的汇总。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。505.0版本新增event_start_time、current_xid和top_xid三个字段,当从低于505.0版本升级至505.0或更高版本时,升级观察期内无法查询这些新增字段。

返回值类型:record

DBE_PERF.get_global_os_runtime()

描述:显示当前操作系统运行的状态信息,仅在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

说明:

状态信息有如下14项: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。

DBE_PERF.get_global_session_time()

描述:提供整个集群各节点各个关键阶段的时间消耗。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型:record

DBE_PERF.get_global_session_memory()

描述:汇聚各节点的Session级别的内存使用情况,包含执行作业在数据节点上GaussDB线程和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_global_operator_history_table()

描述:汇聚当前用户所有CN上执行作业结束后的算子相关记录(持久化)。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型:record

DBE_PERF.get_global_operator_history()

描述:汇聚当前用户所有CN上执行作业结束后的算子相关记录。集群创建后的默认情况下,查询该函数必须具有MONADMIN和SYSADMIN权限。

返回值类型: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及其关联表的对应关系。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

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

描述:提供本地toast表的name及其关联表的对应关系。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型: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_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_PARALLEL_DECODE_STATUS()

描述:汇聚集群所有主DN节点上的复制槽的并行解码信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。该函数仅限CN上执行,DN上执行报错。返回值同视图GLOBAL_PARALLEL_DECODE_STATUS

返回值类型:record

DBE_PERF.GET_GLOBAL_PARALLEL_DECODE_THREAD_INFO()

描述:汇聚集群所有主DN节点上的复制槽的并行解码线程信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。该函数仅限CN上执行,DN上执行报错。返回值同视图GLOBAL_PARALLEL_DECODE_THREAD_INFO

返回值类型: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权限。函数返回信息具体字段请参见SUMMARY_STATEMENT

返回值类型: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.standby_statement_history(only_slow[, time1, time2])

描述:备机中用来查询FULL SQL记录的函数,主机通过表statement_history进行查询,备机通过此函数进行查询。查询该函数必须具有MONADMIN权限。函数返回信息具体字段请参见STATEMENT_HISTORY

参数:如表9 standby_statement_history参数说明所示。

返回值类型:record

表9 standby_statement_history参数说明

参数

类型

描述

only_slow

boolean

是否仅查询慢SQL。
  • true为是,等价于 SELECT ... WHERE is_slow_sql = true;。
  • false或NULL为查询全部SQL,即不对is_slow_sql进行过滤。

time1

timestamptz

可选输入,表示查询SQL的finish_time的最小时间。

time2

timestamptz

可选输入,表示查询SQL的finish_time的最大时间。若time1>=time2,则函数执行报错。

说明:
  • 两个时间参数time1、time2的说明:表示查询的SQL的finish_time所属时间段,分别表示起始与终止时间,输入NULL或者不输入表示没有限制,功能等同于SELECT ... WHERE finish_time BETWEEN time1 AND time2;。
  • 备机上该功能的数据并非存储在表里,不存在start_time列的索引,推荐使用参数对finish_time进行条件查找。
  • 由于备机Full/Slow SQL采用异步存储方式,所以用户SQL信息存储时刻可能有所滞后,建议客户查询此接口适当扩大时间查询范围。

DBE_PERF.global_io_wait_info()

描述:查询所有CN和DN节点上的IO管控的实时统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型:record

pg_stat_get_mem_mbytes_reserved(tid)

描述:统计资源管理相关变量值,仅用于定位问题使用。

参数:线程id

返回值类型:text

pg_stat_get_file_stat()

描述:通过对数据文件I/O的统计,反映数据的I/O性能,用以发现I/O操作异常等性能问题。

返回值类型:record

pg_stat_get_redo_stat()

描述:用于统计会话线程日志回放情况。

返回值类型:record

pg_stat_get_status(int8)

描述:可以检测当前实例中工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。

返回值类型:record

get_local_rel_iostat()

描述:查询当前节点的数据文件I/O状态累计值。

返回值类型:record

DBE_PERF.get_global_rel_iostat()

描述:汇聚所有节点数据文件I/O的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型:record

pg_catalog.plancache_status()

描述:显示在当前节点上的全局计划缓存的状态信息。函数返回信息和GLOBAL_PLANCACHE_STATUS一致。

返回值类型:record

DBE_PERF.global_plancache_status()

描述:显示在所有节点上的全局计划缓存的状态信息。函数返回信息请参见字段GLOBAL_PLANCACHE_STATUS。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型:record

DBE_PERF.global_threadpool_status()

描述:显示在所有节点上的线程池中工作线程及会话的状态信息。函数返回信息请参见18.7.14-表 GLOBAL_THREADPOOL_STATUS。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

返回值类型: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。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

参数:nan

返回值类型:node_name text、remote_name text、remote_host text、remote_port integer、is_connected boolean以及no_error_occur boolean。

remote_candidate_stat()

描述:显示本实例的候选buffer链中页面个数,buffer淘汰信息,包含normal buffer pool和segment buffer pool。

返回值类型:record

表10 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

表11 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

表12 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

表13 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

表14 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

表15 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_stat()

描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。

返回值类型:record

表16 remote_rto_stat参数说明

参数

类型

描述

node_name

text

节点的名称,包含主机和备机。

rto_info

text

流控的信息,包含了备机当前的日志流控时间(单位:秒),备机通过GUC参数设置的预期流控时间(单位:秒),为了达到这个预期主机所需要的睡眠时间(单位:微秒)。

remote_redo_stat()

描述:显示整个集群所有实例的日志回放情况(本节点除外、DN上不可使用)。

返回值类型:record

表17 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

当前实例读取回放日志的I/O次数计数。

read_xlog_io_total_dur

int8

当前实例读取回放日志的I/O总时延。

read_data_io_counter

int8

当前实例回放过程中读取数据页面的I/O次数计数。

read_data_io_total_dur

int8

当前实例回放过程中读取数据页面的I/O总时延。

write_data_io_counter

int8

当前实例回放过程中写数据页面的I/O次数计数。

write_data_io_total_dur

int8

当前实例回放过程中写数据页面的I/O总时延。

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

函数返回字段描述如下:
表18 pgxc_gtm_snapshot_status返回参数说明

名称

类型

描述

xmin

xid

仍在运行的最小事务号。

xmax

xid

已完成的所有事务号中最大事务号的下一个事务号。

csn

integer

待提交事务的序列号。

oldestxmin

xid

当前最早的活跃事务在其取快照时,所有运行事务号最小的事务。

xcnt

integer

当前活跃的事务个数。

running_xids

text

当前活跃的事务号。

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

gs_prepared_statements()

描述:显示所有会话所有可用的预备语句。该函数需要SYSADMIN权限的用户才能够执行。函数返回信息具体的字段和GS_ALL_PREPARED_STATEMENTS字段一致。

返回值类型:record

local_redo_time_count()

描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。

返回值如下:
表19 local_redo_time_count返回参数说明

字段名

描述

thread_name

线程名字。

step1_total

step1的总时间,每个线程对应的流程如下:

  • 极致RTO:

    redo batch:从队列中获取一条日志。

    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:

    redo batch:处理日志(整体)。

    redo manager:处理日志(整体)。

    redo worker:处理日志(整体)。

    trxn manager:处理日志(整体)。

    trxn worker:处理日志(整体)。

    read worker:读取xlog page耗时。

    read page worker:生成和发送lsn forwarder。

    startup:check stop(是否回放到指定位置)。

  • 并行回放:

    startup:check stop(是否回放到指定位置)。

step2_count

step2的统计次数。

step3_total

step3的总时间,每个线程对应的流程如下:

  • 极致RTO:

    redo batch:更新standbystate。

    redo manager:数据日志处理。

    redo worker:回放page页日志(整体)。

    trxn manager:更新flush lsn。

    trxn worker:回放日志处理。

    read worker:推进xlog segment。

    read page worker:获取一个新的item。

    startup:redo delay(延迟回放特性等待时间)。

  • 并行回放:

    page redo:更新standbystate。

    startup:redo delay(延迟回放特性等待时间)。

step3_count

step3的统计次数。

step4_total

step4的总时间,每个线程对应的流程如下:

  • 极致RTO:

    redo batch:解析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:

    redo batch:分发给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更新。

    redo manager:数据页面日志存入hash表。

  • 并行回放:

    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:

    redo manager:分发日志给page redo线程。

  • 并行回放:

    page redo:multi workers do日志回放。

step9_count

step9的统计次数。

local_xlog_redo_statics()

描述:返回本节点已回放的各个类型的日志统计信息(仅在备机上有有效数据)。

返回值如下:
表20 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

表21 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淘汰从原淘汰方案中获取页面的次数。

示例:

remote_bgwriter_stat函数查询bgwriter线程刷页信息。

1
2
3
4
5
6
7
gaussdb=# SELECT * FROM remote_bgwriter_stat();
 node_name | bgwr_actual_flush_total_num | bgwr_last_flush_num | candidate_slots | get_buffer_from_list | get_buf_clock_sweep
-----------+-----------------------------+---------------------+-----------------+----------------------+---------------------
 datanode3 |                           0 |                   0 |          266232 |                  404 |                   0
 datanode2 |                           0 |                   0 |          266232 |                  424 |                   0
 datanode1 |                           0 |                   0 |          266232 |                  393 |                   0
(3 rows)

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
gaussdb=# SELECT * FROM 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)
获取所有线程的调用栈。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
gaussdb=# SELECT * FROM gs_stack();
-[ RECORD 1 ]-------------------------------------------------------------------------------------------------------
tid   | 139670364324352
lwtid | 308
stack | __poll + 0x2d
      | CommWaitPollParam::caller(int (*)(pollfd*, unsigned long, int), unsigned long) + 0x34
      | int comm_socket_call<CommWaitPollParam, int (*)(pollfd*, unsigned long, int)>(CommWaitPollParam*, int (*)(pollfd*, unsigned long
, int)) + 0x28
      | comm_poll(pollfd*, unsigned long, int) + 0xb1
      | ServerLoop() + 0x72b
      | PostmasterMain(int, char**) + 0x314e
      | main + 0x617
      | __libc_start_main + 0xf5
      | 0x55d38f8db3a7
[ RECORD 2 ]-------------------------------------------------------------------------------------------------------
tid   | 139664851859200
lwtid | 520
stack | __poll + 0x2d
      | WaitLatchOrSocket(Latch volatile*, int, int, long) + 0x29f
      | SysLoggerMain(int) + 0xc86
      | int GaussDbThreadMain<(knl_thread_role)17>(knl_thread_arg*) + 0x45d
      | InternalThreadFunc(void*) + 0x2d
      | ThreadStarterFunc(void*) + 0xa4
      | start_thread + 0xc5
      | clone + 0x6d

gs_perf_start(duration integer[, freq integer])

描述:采集当前节点上各个线程的on-cpu火焰图的堆栈调用数据,函数返回火焰图的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

范围

duration

采集堆栈时长(单位为秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

1~60

freq

采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型数值,将会对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

10~1000

返回值类型:text

示例:

设置频率为100HZ,采集10s的on-cpu堆栈信息。
1
2
3
4
5
6
7
8
gaussdb=# SELECT gs_perf_start(10,100);
                                   gs_perf_start                                    
------------------------------------------------------------------------------------
 Successfully collected perf flamegraph data, the result filepaths are :           +
 $GAUSSLOG/gs_flamegraph/cn_5001/flamegraph-manual-oncpu-2025-03-03_104812.html.gz;+
 Record 886 cpu clock samples.                                                     +

(1 row)
须知:

执行该函数时(包括后述gs_perf_start_offcpu()、gs_perf_start_all()、gs_perf_start_detail())需要确保gs_perf_service正常运行。同时,gs_perf_service在采集过程中,需要申请环形buffer,该buffer的大小由操作系统中/proc/sys/kernel/perf_event_mlock_kb控制。如果在采集过程中出现“perf mmap failed”错误,可以在调整/proc/sys/kernel/perf_event_mlock_kb的大小后,再重新执行采集。

gs_perf_start_offcpu(duration integer)

描述:采集当前节点上各个线程的off-cpu火焰图的堆栈调用数据,函数返回火焰图的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

范围

duration

采集堆栈时长(单位为毫秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

50~3000

返回值类型:text

示例:

采集2000ms的off-cpu堆栈信息。
1
2
3
4
5
6
7
8
gaussdb=# SELECT gs_perf_start_offcpu(2000);
                                gs_perf_start_offcpu                                 
-------------------------------------------------------------------------------------
 Successfully collected perf flamegraph data, the result filepaths are :            +
 $GAUSSLOG/gs_flamegraph/cn_5001/flamegraph-manual-offcpu-2025-03-03_104918.html.gz;+
 Record 48 sched switch samples.                                                    +

(1 row)

gs_perf_start_detail(duration integer[, freq integer])

描述:采集当前节点所在机器上所有cpu核心所有线程中on-cpu/off-cpu堆栈的调用栈详细信息,函数返回多核多线程原始数据压缩文件地址。每次运行该命令时,都会删除历史采集的多核多线程数据。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

范围

duration

采集堆栈时长(单位为毫秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

50~3000

freq

采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

10~1000

返回值类型:text

示例:

采集2000ms的多核多线程火焰图数据。
1
2
3
4
5
6
7
8
9
gaussdb=# SELECT gs_perf_start_detail(2000);
                                       gs_perf_start_detail                                        
---------------------------------------------------------------------------------------------------
 Successfully collected perf detail data, the result filepath is :                                +
 $GAUSSLOG/gs_flamegraph/cn_5001/detail-2025-03-03_105043.lz4                                     +
 Please save the file locally, otherwise the file will be deleted during the next data collection.+
 Record 1735211 samples.                                                                          +
 
(1 row)

gs_perf_start_all(duration integer[, freq integer])

描述:采集当前节点所在机器上所有节点中on-cpu/off-cpu火焰图的堆栈调用数据,函数返回所有节点生成的火焰图文件的存储路径。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

范围

duration

采集堆栈时长(单位为毫秒,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

50~3000

freq

采集堆栈频率(可选参数,单位为HZ,默认为100,如果输入浮点型数值,将对浮点型小数点后第一位进行四舍五入后取整处理)。

integer

10~1000

返回值类型:text

示例:

设置频率为100HZ,采集1000ms当前节点所在机器上所有节点中oncpu/offcpu火焰图数据。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
gaussdb=# SELECT gs_perf_start_all(1000,100);
                                            gs_perf_start_all                                            
---------------------------------------------------------------------------------------------------------
 Successfully collected perf flamegraph data, the result filepaths are :                                +
 $GAUSSLOG/gs_flamegraph/{nodename}/flamegraph-manual-oncpu-2025-03-03_105122.html.gz;                  +
 $GAUSSLOG/gs_flamegraph/{nodename}/flamegraph-manual-offcpu-2025-03-03_105122.html.gz;                 +
 Please visit gs_flamegraph directory(all nodes of current machine) to get results for individual nodes.+
 Record 664 cpu clock samples.                                                                          +
 Record 370 sched switch samples.                                                                       +

(1 row)

gs_perf_list()

描述:查看当前节点上保存的on-cpu/off-cpu火焰图的采集数据,不会展示多核多线程火焰图记录。

参数:nan

返回值类型:setof record

函数返回字段说明:

名称

类型

描述

nodename

text

采集节点名称。

filename

text

采集数据所保存的文件名称。

collect_type

text

采集类型。

示例:

查询当前节点上保存的火焰图生成记录。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
gaussdb=# SELECT * FROM gs_perf_list() limit 10;
 nodename |                        filename                        | collect_type 
----------+--------------------------------------------------------+--------------
 cn_5001  | flamegraph-auto-offcpu-2025-03-02_175022.html.gz       | auto
 cn_5001  | flamegraph-auto-offcpu-2025-03-03_063522.html.gz       | auto
 cn_5001  | flamegraph-auto-offcpu-2025-03-03_102523.html.gz       | auto
 cn_5001  | flamegraph-auto-offcpu-2025-03-02_173523.html.gz       | auto
 cn_5001  | flamegraph-manual-offcpu-2025-03-03_025410.html.gz     | manual
 cn_5001  | flamegraph-manual-oncpu-2025-03-03_003428.html.gz      | manual
 cn_5001  | flamegraph-manual-oncpu-2025-03-02_181653.html.gz      | manual
 cn_5001  | flamegraph-manual-oncpu-2025-03-03_031815.html.gz      | manual
 cn_5001  | flamegraph-manual-oncpu-2025-03-03_001013.html.gz      | manual
(9 rows)

gs_perf_query([filename text])

描述:查询历史采集on-cpu/off-cpu火焰图的堆栈调用数据。函数归并各个线程的函数调用栈,并求和函数运行时间,返回聚集后的结果。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

filename

历史采集的文件的名称(可选参数,默认为最近一次手动采集的火焰图)。

text

返回值类型:setof record

函数返回字段说明:

名称

类型

描述

backtrace

text

堆栈名称(带树状结构)。

period

bigint

堆栈的执行时间。

level

integer

堆栈所在堆栈调用树的层级。

sequence

integer

堆栈调用树排序后的顺序。

thread_name

text

该堆栈所在的线程名称。

overhead

float

该堆栈执行所占时间百分比。

示例:

查询采集到的堆栈信息。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
gaussdb=# SELECT * FROM gs_perf_query() WHERE overhead > 2 AND level < 10;
                                   backtrace                                   |   period    | level | sequence |  thread_name  | overhead
-------------------------------------------------------------------------------+-------------+-------+----------+---------------+----------
 root                                                                         +| 74140000000 |     0 |        1 | root          |      100
                                                                               |             |       |          |               |
     worker                                                                   +| 69930000000 |     1 |        2 | worker        |    94.32
                                                                               |             |       |          |               |
     |── start_thread                                                       +| 67620000000 |     2 |        3 | worker        |    91.21
                                                                               |             |       |          |               |
     |   └── ThreadStarterFunc                                             +| 67620000000 |     3 |        4 | worker        |    91.21
                                                                               |             |       |          |               |
     |       └── internal_thread_func                                      +| 67620000000 |     4 |        5 | worker        |    91.21
                                                                               |             |       |          |               |
     |           └── int gauss_db_thread_main                              +| 67620000000 |     5 |        6 | worker        |    91.21
                                                                               |             |       |          |               |
      |               └── backend_run                                      +| 67620000000 |     6 |        7 | worker        |    91.21
                                                                               |             |       |          |               |
     |                   |── PostgresMain                                   +| 67520000000 |     7 |        8 | worker        |    91.07
                                                                               |             |       |          |               |
     |                   |   |── exec_simple_query                          +| 64800000000 |     8 |        9 | worker        |     87.4
                                                                               |             |       |          |               |
     |                   |   |   |── OpFusion::opfusion_process             +| 30130000000 |     9 |       10 | worker        |    40.64
                                                                               |             |       |          |               |
     |                   |   |   |── pg_analyze_and_rewrite                 +| 11290000000 |     9 |     1405 | worker        |    15.23
                                                                               |             |       |          |               |
     |                   |   |   |── pg_plan_queries                        +|  9550000000 |     9 |     2660 | worker        |    12.88
                                                                               |             |       |          |               |
     |                   |   |   |── PortalRun                              +|  4680000000 |     9 |     4310 | worker        |     6.31
                                                                               |             |       |          |               |
     |                   |   |   |── finish_xact_command                    +|  3120000000 |     9 |     4923 | worker        |     4.21
                                                                               |             |       |          |               |
     |                   |   |   |── pg_parse_query                         +|  1520000000 |     9 |     5262 | worker        |     2.05
                                                                               |             |       |          |               |
     |                   |   |   |── OpFusion::opfusion_factory             +|  1500000000 |     9 |     5374 | worker        |     2.02
                                                                               |             |       |          |               |
     txnsnapworker                                                            +|  1640000000 |     1 |     6770 | txnsnapworker |     2.21
                                                                               |             |       |          |               |
     |── start_thread                                                       +|  1620000000 |     2 |     6771 | txnsnapworker |     2.19
                                                                               |             |       |          |               |
     |   └── ThreadStarterFunc                                             +|  1620000000 |     3 |     6772 | txnsnapworker |     2.19
                                                                               |             |       |          |               |
     |       └── internal_thread_func                                      +|  1620000000 |     4 |     6773 | txnsnapworker |     2.19
                                                                               |             |       |          |               |
     |           └── int gauss_db_thread_main                              +|  1620000000 |     5 |     6774 | txnsnapworker |     2.19
                                                                               |             |       |          |               |
     |               └── txn_snap_cap_worker_main                          +|  1620000000 |     6 |     6775 | txnsnapworker |     2.19
                                                                               |             |       |          |               |
     |                   └── PostgresInitializer::InitTxnSnapWorker        +|  1620000000 |     7 |     6776 | txnsnapworker |     2.19
                                                                               |             |       |          |               |
     |                       |── PostgresInitializer::SetDatabase           +|  1600000000 |     8 |     6777 | txnsnapworker |     2.16
                                                                               |             |       |          |               |
     |                       |   └── PostgresInitializer::SetDatabaseByName+|  1600000000 |     9 |     6778 | txnsnapworker |     2.16

gs_perf_query_general([filename text])

描述:查询历史采集on-cpu/off-cpu火焰图的堆栈调用函数的占比数据,由于计算精度原因,该占比数据总和可能会不等于1。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

filename

历史采集的文件的名称(可选参数,默认为最近一次手动采集的火焰图)。

text

返回值类型:setof record

函数返回字段说明:

名称

类型

描述

function_name

text

堆栈函数名称。

percentage

float

堆栈函数调用占比。

示例:

查询最近一次手动采集生成的火焰图函数调用占比。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
gaussdb=# SELECT * FROM gs_perf_query_general();
         function_name         | percentage
-------------------------------+------------
 pthread_mutex_lock            |      28.57
 do_select                     |       7.17
 undopage::init_undo_zone_lock |       7.14
 unknown                       |       7.14
 undo::recycle_main            |       7.14
 undo::is_valid_zone_id        |       7.14
 __vdso_gettimeofday           |       7.14
 hrtimer_start_range_ns        |       7.14
 undo::get_zone_id             |       7.14
 __pthread_mutex_unlock        |       7.14
 gs_stat_encap_status_info     |       7.14
(11 rows)

gs_perf_query_detail([filename text])

描述:查询历史采集on-cpu/off-cpu火焰图的堆栈函数调用占比及调用堆栈详细信息,由于计算精度原因,该占比数据总和可能会不等于1。查询该函数需要有SYSADMIN权限或者MONADMIN权限。

参数说明如下:

参数名称

描述

类型

filename

历史采集的文件的名称(可选参数,默认为最近一次手动采集的火焰图)。

text

返回值类型:setof record

函数返回字段说明:

名称

类型

描述

function_name

text

堆栈函数名称。

percentage

float

堆栈函数调用占比。

function_callstack

text

堆栈函数调用栈。

function_callstack_percentage

float

堆栈函数调用栈占比。

示例:

查询最近一次手动采集生成的火焰图调用占比详情。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
testdb3=# SELECT * FROM gs_perf_query_detail();
      function_name       | percentage |                                                                                                                                                              function_callstack
                                                                                                                                                 | function_callstack_percentage
--------------------------+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------
 pthread_mutex_lock       |         30 | TrackStmtWorker->unknown->internal_thread_func->int gauss_db_other_feature_thread_main->pthread_mutex_lock
                                                                                                                                                 |                            30
 stmt_flush_main          |         20 | TrackStmtWorker->unknown->internal_thread_func->int gauss_db_other_feature_thread_main->stmt_flush_main
                                                                                                                                                 |                            20
 finish_task_switch       |         20 | AntiRecycler->unknown->internal_thread_func->int gauss_db_storage_thread_main->anti_recycler_main->anti_tab_recycle_loop->__select ->[enter kernel]->system_call_fastpath->SyS_select->core_
sys_select->do_select->poll_schedule_timeout->schedule_hrtimeout_range->schedule_hrtimeout_range_clock->schedule->__schedule->finish_task_switch |                            10
 finish_task_switch       |         20 | vlogwriter->unknown->internal_thread_func->int gauss_db_storage_thread_main->verifylogwriter_main->__select ->[enter kernel]->system_call_fastpath->SyS_select->core_sys_select->do_select->
poll_schedule_timeout->schedule_hrtimeout_range->schedule_hrtimeout_range_clock->schedule->__schedule->finish_task_switch                        |                            10
 system_call_after_swapgs |         10 | WALwriter->semctl ->[enter kernel]->system_call_after_swapgs
                                                                                                                                                 |                            10
 lwlock_release           |         10 | AntiRecycler->unknown->internal_thread_func->int gauss_db_storage_thread_main->anti_recycler_main->anti_tab_recycle_loop->lwlock_release
                                                                                                                                                 |                            10
 __select                 |         10 | AntiRecycler->unknown->internal_thread_func->int gauss_db_storage_thread_main->anti_recycler_main->anti_tab_recycle_loop->__select
                                                                                                                                                 |                            10
(7 rows)

gs_tpworker_execstmt_stat()

描述:描述语句的运行时信息,SYSADMIN和MONADMIN用户执行则显示全部正在执行的语句的信息,普通用户查询只能查询自己执行的SQL语句的信息。

返回值类型:setof record

名称

类型

描述

db_oid

oid

用户会话在后台连接到的数据库OID。

db_name

name

用户会话在后台连接到的数据库名称。

threadpool_worker

varchar

线程所属的numagroup和线程的ID,格式如下:numagroup_threadid。

thread_id

bigint

线程ID。

session_id

bigint

会话ID。

query_id

bigint

正在执行的SQL语句的ID。

query_text

text

正在执行的SQL语句内容。

unique_sql_id

bigint

SQL语句生成的唯一id。

client_hostname

text

客户端的主机名,这个字段是通过client_addr进行反向DNS查找得到的。这个字段只有在启动log_hostname且使用IP连接时才非空。

client_app_name

text

客户端app的名字。

stmt_slow_time_threshold

int

单位毫秒,SQL语句被标记为慢SQL的预设超时时间。

stmt_start_time

timestamp with time zone

语句执行的开始时间。

stmt_elapse_time

int

距离查询开始执行时已经过去的时间。

stmt_control_status

varchar

当前语句状态:
  • Waiting:等待状态,session接入未获得线程执行。
  • Running:当前语句正常执行。
  • Control:当前语句进入了资源管控阶段。

stmt_control_rule

text

当前语句对应的慢SQL管控规则。

stmt_control_iostat

text

当前语句的iops值和最大iops上限。格式如下:curVal/maxVal。

stmt_control_memstat

text

当前字段预留,暂不支持。

stmt_control_cpustat

text

当前字段预留,暂不支持。

stmt_control_netstat

text

当前字段预留,暂不支持。

gs_tpworker_execslot_stat()

描述:描述线程的运行时信息,SYSADMIN和MONADMIN用户执行则显示全部线程的信息,普通用户查询只能查询自己执行的SQL语句所在的线程的信息。

返回值类型:setof record

名称

类型

描述

numagroup

int

当前线程所属的numagroup。

worker_id

int

当前线程的ID。

worker_bind_type

text

线程绑定方式,包括numabind、cpubind、allbind以及nobind。

worker_cpu_affinity

text

线程和CPU的亲和性,即线程可以调度的cpu核数范围。

worker_status

varchar

当前线程状态:
  • Waiting:等待状态,session接入未获得线程执行。
  • Running:当前语句正常执行。
  • Control:当前语句进入了资源管控阶段。

served_query_id

bigint

正在执行的SQL语句的ID。

served_query_text

text

正在执行的SQL语句内容。

gs_session_all_settings(sessionid bigint)

描述:查询本节点上sessionid对应的session的全量GUC参数配置。该操作需要SYSADMIN或者MONADMIN权限。

参数:sessionid,会话ID。

返回值类型:setof record

函数返回字段说明如下:

名称

类型

描述

name

text

参数名称。

setting

text

参数当前值。

unit

text

参数的隐式单位。

示例:

gaussdb=# SELECT sessionid FROM pg_stat_activity WHERE usename = 'testuser';
 sessionid
-----------
    788861
(1 row)

gaussdb=# SELECT * FROM gs_session_all_settings(788861) WHERE name = 'work_mem';
   name   | setting | unit
----------+---------+------
 work_mem | 131072  | kB
(1 row)

gs_session_all_settings()

描述:查询本节点上所有session的全量GUC参数配置。该操作需要SYSADMIN或者MONADMIN权限。

返回值类型:setof record

名称

类型

描述

sessionid

bigint

会话的ID。

pid

bigint

后端线程的ID。

name

text

参数名称。

setting

text

参数当前值。

unit

text

参数的隐式单位。

示例:

gaussdb=# SELECT * FROM gs_session_all_settings() WHERE name = 'work_mem';
    sessionid    |       pid       |   name   | setting | unit
-----------------+-----------------+----------+---------+------
 140550214145792 |           96974 | work_mem | 65536   | kB
 140550214145792 |           96971 | work_mem | 65536   | kB
 140549731735296 | 140549731735296 | work_mem | 65536   | kB
 140549764413184 | 140549764413184 | work_mem | 65536   | kB
(4 rows)

gs_local_wal_preparse_statistics()

描述:查询本节点上日志预解析线程最近一次启动,预解析日志的情况。该操作需要SYSADMIN权限。日志预解析线程通常在备DN双机复制链路断开时、由CM组件发送启动命令启动。如果日志预解析线程已经被启动,可以通过调用该函数查询最近一次的预解析状态。如果线程尚未启动,该函数将返回默认值。在容灾场景下,灾备集群的DN和CN会自动启动日志预解析线程。需要注意的是,CN仅在灾备集群中会启动日志预解析线程。

返回值类型:setof record

名称

类型

描述

preparser_term

text

最近一次预解析日志得到的最大term值。

preparser_start_time

timestamptz

最近一次预解析启动时间。

preparser_end_time

timestamptz

最近一次预解析结束时间。

preparser_start_location

text

最近一次预解析日志起始位置。

preparser_end_location

text

最近一次预解析日志结束位置。

preparser_total_bytes

int8

最近一次预解析日志量,单位:byte。

preparser_speed

int8

最近一次预解析速度,单位:byte/ms。

is_valid

bool

最近一次预解析结果是否可以用于选主。

启动日志预解析线程后的查询结果示例:

gaussdb=# SELECT * FROM gs_local_wal_preparse_statistics();
 preparser_term |     preparser_start_time      |      preparser_end_time       | preparser_start_location | preparser_end_location | preparser_total_bytes | preparser_speed | is_valid 
----------------+-------------------------------+-------------------------------+--------------------------+------------------------+-----------------------+-----------------+----------
 3107           | 2023-02-01 17:04:23.367946+08 | 2023-02-01 17:04:25.354434+08 | 00000003/C3EEA660        | 00000004/0BE60738      |            1207394520 |      1207394520 | f
(1 row)
未启动日志预解析线程时的查询查询结果示例:
gaussdb=# SELECT * FROM gs_local_wal_preparse_statistics();
 preparser_term |  preparser_start_time  |   preparser_end_time   | preparser_start_location | preparser_end_location | preparser_total_bytes | preparser_speed | is_valid
----------------+------------------------+------------------------+--------------------------+------------------------+-----------------------+-----------------+----------
 0              | 2000-01-01 08:00:00+08 | 2000-01-01 08:00:00+08 | 00000000/00000000        | 00000000/00000000      |                     0 |               0 | f
(1 row)

gs_hot_standby_space_info()

描述:查询standby_read/base_page,standby_read/block_info_meta,standby_read/lsn_info_meta文件夹中的文件总数和总大小。

返回值类型:setof record

名称

类型

描述

base_page_file_num

xid

bage_page_file的总数量。

base_page_total_size

xid

bage_page_file的总大小。

lsn_info_meta_file_num

xid

lsn_info_meta_file的总数量。

lsn_info_meta_total_size

xid

lsn_info_meta_file的总大小。

block_info_meta_file_num

xid

block_info_meta_file的总数量。

block_info_meta_total_size

xid

block_info_meta_file的总大小。

示例:

gaussdb=# SELECT * FROM gs_hot_standby_space_info();
 base_page_file_num | base_page_total_size | lsn_info_meta_file_num | lsn_info_meta_total_size | block_info_meta_file_num | block_info_meta_total_size
--------------------+----------------------+------------------------+--------------------------+--------------------------+----------------------------
                  6 |               163840 |                      6 |                     3136 |                       16 |                     147456
(1 row)

exrto_file_read_stat()

描述:查询备机读新增的base page file、lsn info meta file和block info meta file三种类型的文件磁盘访问次数和访问总时延。连接备DN或灾备集群CN查询,其他情况查询结果为0。

返回值类型:setof record

名称

类型

描述

lsn_info_page_disk_read_counter

int8

lsn info meta file的磁盘访问次数。

lsn_info_page_disk_read_dur

int8

lsn info meta file的磁盘访问总时延。

blk_info_meta_disk_read_counter

int8

block info meta file的磁盘访问次数。

blk_info_meta_disk_read_dur

int8

block info meta file的磁盘访问总时延。

base_page_read_disk_counter

int8

base page file的磁盘访问次数。

base_page_read_disk_dur

int8

base page file的磁盘访问总时延。

示例:

gaussdb=# SELECT * FROM exrto_file_read_stat();
 lsn_info_page_disk_read_counter | lsn_info_page_disk_read_dur | blk_info_meta_disk_read_counter | blk_info_meta_disk_read_dur | base_page_read_disk_counter | base_page_read_disk_dur
---------------------------------+-----------------------------+---------------------------------+-----------------------------+-----------------------------+-------------------------
                           14987 |                       92313 |                           23879 |                      129811 |                           0 |                       0
(1 row)

gs_exrto_recycle_info()

描述:查询资源回收位置,其中包括每个线程的回收lsn,全局回收的lsn,查询线程最旧的快照的lsn。连接备DN或灾备集群CN查询,其他情况查询结果为0。

返回值类型:setof record

名称

类型

描述

page_redo_worker_thread_id

text

redo线程的回收lsn位置,其中thread_id为redo线程的线程id。

global_recycle_lsn

text

全局回收位置的lsn。

exrto_snapshot_oldest_lsn

text

查询线程的最旧的快照lsn。

示例:

gaussdb=# SELECT * FROM gs_exrto_recycle_info();
            thread_id             | recycle_lsn
----------------------------------+-------------
 page_redo_worker_140148895381248 | 0/7B4552E0
 page_redo_worker_140148872312576 | 0/7B4535B8
 global_recycle_lsn               | 0/7B4535B8
 exrto_snapshot_oldest_lsn        | 0/8488E6D0
(4 rows)

gs_stat_get_db_conflict_all(oid)

参数:dbid(oid)为数据库的oid。

描述:查询发送回放冲突信号的数量。

返回值类型:setof record

名称

类型

描述

conflict_all

int8

发送回放冲突信号的总数量。

conflict_tablespace

int8

发送tablespace类型回放冲突信号的数量。

conflict_lock

int8

发送lock类型回放冲突信号的数量。

conflict_snapshot

int8

发送snapshot类型回放冲突信号的数量。

conflict_bufferpin

int8

发送bufferpin类型回放冲突信号的数量。

conflict_startup_deadlock

int8

发送startup_deadlock类型回放冲突信号的数量。

conflict_truncate

int8

发送truncate类型回放冲突信号的数量。

conflict_standby_query_timeout

int8

发送standby_query_timeout类型回放冲突信号的数量。

conflict_force_recycle

int8

发送force_recycle类型回放冲突信号的数量。

示例:
gaussdb=# SELECT * FROM gs_stat_get_db_conflict_all(12738);
 conflict_all | conflict_tablespace | conflict_lock | conflict_snapshot | conflict_bufferpin | conflict_startup_deadlock | conflict_truncate | conflict_standby_query_timeout | conflict_force_recycle 
--------------+---------------------+---------------+-------------------+--------------------+---------------------------+-------------------+--------------------------------+------------------------
            0 |                   0 |             0 |                 0 |                  0 |                         0 |                 0 |                              0 |                      0
(1 row)

gs_redo_stat_info()

描述:查询回放信息,包括回放线程的buffer命中率、执行unlink_rels文件数量、极致RTO场景下回放线程读取buffer时产生I/O操作的waitevent信息以及wal_read_from_write_buffer的waitevent信息。需要连接备DN或灾备集群CN查询。

返回值类型:setof record

名称

类型

描述

buffer_hit_rate

float8

回放线程的buffer命中率。

ddl_unlink_nrels_count

int8

回放ddl操作执行unlink rel文件的数量。

read_buffer_io_counter

int8

极致RTO场景下回放线程读取buffer时产生I/O操作的waitevent触发次数。

read_buffer_io_total_dur

int8

极致RTO场景下回放线程读取buffer时产生I/O操作的waitevent总用时。

read_buffer_io_avg_dur

int8

极致RTO场景下回放线程读取buffer时产生I/O操作的waitevent平均用时。

read_buffer_io_min_dur

int8

极致RTO场景下回放线程读取buffer时产生I/O操作的waitevent最小用时。

read_buffer_io_max_dur

int8

极致RTO场景下回放线程读取buffer时产生I/O操作的waitevent最大用时。

read_wal_buf_counter

int8

极致RTO场景下wal_read_from_write_buffer的waitevent触发次数。

read_wal_buf_total_dur

int8

极致RTO场景下wal_read_from_write_buffer的waitevent总用时。

read_wal_buf_avg_dur

int8

极致RTO场景下wal_read_from_write_buffer的waitevent平均用时。

read_wal_buf_min_dur

int8

极致RTO场景下wal_read_from_write_buffer的waitevent最小用时。

read_wal_buf_max_dur

int8

极致RTO场景下wal_read_from_write_buffer的waitevent最大用时。

示例:

gaussdb=# SELECT * FROM gs_redo_stat_info();
-[ RECORD 1 ]------------+----------
buffer_hit_rate          | 70.5707
ddl_unlink_nrels_count   | 3
read_buffer_io_counter   | 1732
read_buffer_io_total_dur | 2850806
read_buffer_io_avg_dur   | 1645
read_buffer_io_min_dur   | 3
read_buffer_io_max_dur   | 981639
read_wal_buf_counter     | 9779
read_wal_buf_total_dur   | 193612470
read_wal_buf_avg_dur     | 19798
read_wal_buf_min_dur     | 3
read_wal_buf_max_dur     | 1914777

gs_recovery_conflict_waitevent_info()

描述:查询处理回放冲突的函数的waitevent相关信息。需要连接备DN或灾备集群CN查询。

返回值类型:setof record。

名称

类型

描述

conflict_lock_counter

int8

处理lock类型回放冲突的触发次数。

conflict_lock_total_dur

int8

处理lock类型回放冲突的总用时。

conflict_lock_avg_dur

int8

处理lock类型回放冲突的平均用时。

conflict_lock_min_dur

int8

处理lock类型回放冲突的最小用时。

conflict_lock_max_dur

int8

处理lock类型回放冲突的最大用时。

conflict_snapshot_counter

int8

处理snapshot类型回放冲突的触发次数。

conflict_snapshot_total_dur

int8

处理snapshot类型回放冲突的总用时。

conflict_snapshot_avg_dur

int8

处理snapshot类型回放冲突的平均用时。

conflict_snapshot_min_dur

int8

处理snapshot类型回放冲突的最小用时。

conflict_snapshot_max_dur

int8

处理snapshot类型回放冲突的最大用时。

conflict_tablespace_counter

int8

处理tablespace类型回放冲突的触发次数。

conflict_tablespace_total_dur

int8

处理tablespace类型回放冲突的总用时。

conflict_tablespace_avg_dur

int8

处理tablespace类型回放冲突的平均用时。

conflict_tablespace_min_dur

int8

处理tablespace类型回放冲突的最小用时。

conflict_tablespace_max_dur

int8

处理tablespace类型回放冲突的最大用时。

conflict_database_counter

int8

处理database类型回放冲突的触发次数。

conflict_database_total_dur

int8

处理database类型回放冲突的总用时。

conflict_database_avg_dur

int8

处理database类型回放冲突的平均用时。

conflict_database_min_dur

int8

处理database类型回放冲突的最小用时。

conflict_database_max_dur

int8

处理database类型回放冲突的最大用时。

conflict_truncate_counter

int8

处理truncate类型回放冲突的触发次数。

conflict_truncate_total_dur

int8

处理truncate类型回放冲突的总用时。

conflict_truncate_avg_dur

int8

处理truncate类型回放冲突的平均用时。

conflict_truncate_min_dur

int8

处理truncate类型回放冲突的最小用时。

conflict_truncate_max_dur

int8

处理truncate类型回放冲突的最大用时。

conflict_standby_query_timeout_counter

int8

处理standby_query_timeout类型回放冲突的触发次数。

conflict_standby_query_timeout_total_dur

int8

处理standby_query_timeout类型回放冲突的总用时。

conflict_standby_query_timeout_avg_dur

int8

处理standby_query_timeout类型回放冲突的平均用时。

conflict_standby_query_timeout_min_dur

int8

处理standby_query_timeout类型回放冲突的最小用时。

conflict_standby_query_timeout_max_dur

int8

处理standby_query_timeout类型回放冲突的最大用时。

conflict_force_recycle_counter

int8

处理force_recycle类型回放冲突的触发次数。

conflict_force_recycle_total_dur

int8

处理force_recycle类型回放冲突的总用时。

conflict_force_recycle_avg_dur

int8

处理force_recycle类型回放冲突的平均用时。

conflict_force_recycle_min_dur

int8

处理force_recycle类型回放冲突的最小用时。

conflict_force_recycle_max_dur

int8

处理force_recycle类型回放冲突的最大用时。

示例:

gaussdb=# SELECT * FROM gs_recovery_conflict_waitevent_info();
-[ RECORD 1 ]----------------------------+------
conflict_lock_counter                    | 0
conflict_lock_total_dur                  | 0
conflict_lock_avg_dur                    | 0
conflict_lock_min_dur                    | 0
conflict_lock_max_dur                    | 0
conflict_snapshot_counter                | 0
conflict_snapshot_total_dur              | 0
conflict_snapshot_avg_dur                | 0
conflict_snapshot_min_dur                | 0
conflict_snapshot_max_dur                | 0
conflict_tablespace_counter              | 0
conflict_tablespace_total_dur            | 0
conflict_tablespace_avg_dur              | 0
conflict_tablespace_min_dur              | 0
conflict_tablespace_max_dur              | 0
conflict_database_counter                | 0
conflict_database_total_dur              | 0
conflict_database_avg_dur                | 0
conflict_database_min_dur                | 0
conflict_database_max_dur                | 0
conflict_truncate_counter                | 6
conflict_truncate_total_dur              | 35872
conflict_truncate_avg_dur                | 5978
conflict_truncate_min_dur                | 5130
conflict_truncate_max_dur                | 7459
conflict_standby_query_timeout_counter   | 0
conflict_standby_query_timeout_total_dur | 0
conflict_standby_query_timeout_avg_dur   | 0
conflict_standby_query_timeout_min_dur   | 0
conflict_standby_query_timeoutmax_dur    | 0
conflict_force_recycle_counter           | 0
conflict_force_recycle_total_dur         | 0
conflict_force_recycle_avg_dur           | 0
conflict_force_recycle_min_dur           | 0
conflict_force_recycle_max_dur           | 0

gs_display_delay_ddl_info()

描述:查看备机中延迟删除的文件信息。

返回值类型:setof record

名称

类型

描述

type

INT4

删除操作的对象是表或数据库。

lsn

TEXT

标识特定日志文件记录在此日志文件中的位置。

tablespace

INT4

数据库中用于存储表和索引的物理空间。

database

INT4

该数据库的物理存储位置。

relation

INT4

数据库中的对象,可以是表、视图以及索引的物理位置。

bucketid

INT4

指定关系对象所属的bucket。

opt

INT4

压缩表相关属性。

forknum

INT4

主体命名之后的后缀命名,通过主体命名和后缀命名,可以找到唯一的物理文件。

示例:
gaussdb=# SELECT * FROM gs_display_delay_ddl_info();
 type | lsn | tablespace | database | relation | bucketid | opt | forknum 
------+-----+------------+----------+----------+----------+-----+---------
(0 rows)
提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容