pg_stat_activity 视图pg_stat_replication 视图pg_stat_replication_slots 视图pg_stat_wal_receiver 视图pg_stat_recovery_prefetch 视图pg_stat_subscription 视图pg_stat_subscription_stats 视图pg_stat_ssl 视图pg_stat_gssapi 视图pg_stat_archiver 视图pg_stat_io 视图pg_stat_bgwriter 视图pg_stat_checkpointer 视图pg_stat_wal 视图pg_stat_database 视图pg_stat_database_conflicts 视图pg_stat_all_tables 视图pg_stat_all_indexes 视图pg_statio_all_tables 视图pg_statio_all_indexes 视图pg_statio_all_sequences 视图pg_stat_user_functions 视图pg_stat_slru 视图PostgreSQL 内置了高性能的累积统计收集系统,能够记录对数据表的访问频次、磁盘 I/O 读写块数、WAL 生成量以及会话连接事件。
统计数据的采集开销极其低廉,默认全部自动开启(包括 track_activities、track_counts 与 track_io_timing)。
系统提供了两组核心内置视图:动态视图与累积统计视图。
Table 27.1. 动态统计视图
| 视图名称 | 说明 |
|---|---|
pg_stat_activity | 每个活跃客户端会话的当前执行状态 |
pg_stat_replication | 流复制连接的发送状态 |
pg_stat_wal_receiver | 流复制接收端工作进程状态 |
Table 27.2. 累积统计视图
| 视图名称 | 说明 |
|---|---|
pg_stat_database | 数据库级别的全局聚合度量 |
pg_stat_all_tables | 表级别访问与元组增删改统计 |
pg_stat_all_indexes | 索引使用频次与检索效率统计 |
pg_statio_all_tables | 表级别磁盘读取与缓冲命中统计 |
pg_stat_io | 全集群细粒度物理 I/O 统计 |
pg_stat_wal | WAL 写入与磁盘刷盘统计 |
pg_stat_activity 视图 #显示每个后台连接进程的当前活动、正在执行的 SQL 语句文本、事务启动时间以及锁等待事件。
Table 27.3. pg_stat_activity 视图字段
| 字段名 | 说明 |
|---|---|
pid | 后台进程 ID |
state | 当前连接状态(active, idle 等) |
query | 当前正在执行的 SQL |
Table 27.4. 等待事件分类表
| 事件类型 | 说明 |
|---|---|
| Lock | 常规锁等待 |
| IO | 磁盘 I/O 读写等待 |
Table 27.5. Activity 类型的等待事件
Activity 等待事件 | 描述 |
|---|---|
ArchiverMain | 归档进程主循环中的等待。 |
AutovacuumMain | 自动清理启动进程主循环中的等待。 |
BgwriterHibernate | 后台写进程中的等待,处于休眠状态。 |
BgwriterMain | 后台写进程主循环中的等待。 |
CheckpointerMain | 检查点进程主循环中的等待。 |
CheckpointerShutdown | 等待检查点进程被终止。 |
IoWorkerMain | I/O 工作进程主循环中的等待。 |
LogicalApplyMain | 逻辑复制应用进程主循环中的等待。 |
LogicalLauncherMain | 逻辑复制启动进程主循环中的等待。 |
LogicalParallelApplyMain | 逻辑复制并行应用进程主循环中的等待。 |
RecoveryWalStream | 流恢复期间启动进程主循环中等待 WAL 到达。 |
ReplicationSlotsyncMain | 槽同步工作进程主循环中的等待。 |
ReplicationSlotsyncShutdown | 等待槽同步工作进程关闭。 |
SysloggerMain | 系统日志进程主循环中的等待。 |
WalReceiverMain | WAL 接收进程主循环中的等待。 |
WalSenderMain | WAL 发送进程主循环中的等待。 |
WalSummarizerWal | WAL 汇总器等待更多 WAL 生成。 |
WalWriterMain | WAL 写进程主循环中的等待。 |
Table 27.6. Bufferpin 类型的等待事件
BufferPin Wait Event | 描述 |
|---|---|
BufferPin | 等待获取缓冲区上的排他引用。 |
Table 27.7. Client 类型的等待事件
Client 等待事件 | 描述 |
|---|---|
ClientRead | 等待从客户端读取数据。 |
ClientWrite | 等待向客户端写入数据。 |
GssOpenServer | 建立 GSSAPI 会话期间等待从客户端读取数据。 |
LibpqwalreceiverConnect | WAL 接收者建立与远端服务器连接时的等待。 |
LibpqwalreceiverReceive | WAL 接收者从远端服务器接收数据时的等待。 |
SslOpenServer | 尝试建立连接时等待 SSL。 |
WaitForStandbyConfirmation | 等待物理备库接收并刷写 WAL。 |
WalSenderWaitForWal | 在 WAL 发送进程中等待 WAL 被刷写。 |
WalSenderWriteData | WAL 发送进程处理来自 WAL 接收者的应答时等待任意活动。 |
Table 27.8. Extension 类型的等待事件
Extension 等待事件 | 描述 |
|---|---|
Extension | 扩展中的等待。 |
Table 27.9. Io 类型的等待事件
IO Wait Event | 描述 |
|---|---|
AioIoCompletion | 等待另一进程完成 I/O。 |
AioIoUringExecution | 等待通过 io_uring 执行 I/O。 |
AioIoUringSubmit | 等待通过 io_uring 提交 I/O。 |
BasebackupRead | 等待基础备份从文件读取。 |
BasebackupSync | 等待基础备份写入的数据落盘。 |
BasebackupWrite | 等待基础备份写入文件。 |
BuffileRead | 等待从缓冲文件读取。 |
BuffileTruncate | 等待缓冲文件被截断。 |
BuffileWrite | 等待写入缓冲文件。 |
ControlFileRead | 等待从 pg_control 文件读取。 |
ControlFileSync | 等待 pg_control 文件落盘。 |
ControlFileSyncUpdate | 等待 pg_control 文件的更新落盘。 |
ControlFileWrite | 等待写入 pg_control 文件。 |
ControlFileWriteUpdate | 等待写入以更新 pg_control 文件。 |
CopyFileCopy | 等待文件复制操作。 |
CopyFileRead | 文件复制操作期间的读取等待。 |
CopyFileWrite | 文件复制操作期间的写入等待。 |
DataFileExtend | 等待关系数据文件被扩展。 |
DataFileFlush | 等待关系数据文件落盘。 |
DataFileImmediateSync | 等待关系数据文件立即同步落盘。 |
DataFilePrefetch | 等待来自关系数据文件的异步预取。 |
DataFileRead | 等待从关系数据文件读取。 |
DataFileSync | 等待对关系数据文件的更改落盘。 |
DataFileTruncate | 等待关系数据文件被截断。 |
DataFileWrite | 等待写入关系数据文件。 |
DsmAllocate | 等待动态共享内存段被分配。 |
DsmFillZeroWrite | 等待用零填充动态共享内存后备文件。 |
LockFileAddtodatadirRead | 向数据目录锁文件添加行时的读取等待。 |
LockFileAddtodatadirSync | 向数据目录锁文件添加行时等待数据落盘。 |
LockFileAddtodatadirWrite | 向数据目录锁文件添加行时的写入等待。 |
LockFileCreateRead | 创建数据目录锁文件时的读取等待。 |
LockFileCreateSync | 创建数据目录锁文件时等待数据落盘。 |
LockFileCreateWrite | 创建数据目录锁文件时的写入等待。 |
LockFileRecheckdatadirRead | 复查数据目录锁文件期间的读取等待。 |
LogicalRewriteCheckpointSync | 检查点期间等待逻辑重写映射落盘。 |
LogicalRewriteMappingSync | 逻辑重写期间等待映射数据落盘。 |
LogicalRewriteMappingWrite | 逻辑重写期间等待写入映射数据。 |
LogicalRewriteSync | 等待逻辑重写映射落盘。 |
LogicalRewriteTruncate | 逻辑重写期间等待映射数据被截断。 |
LogicalRewriteWrite | 等待写入逻辑重写映射。 |
RelationMapRead | 等待读取关系映射文件。 |
RelationMapReplace | 等待关系映射文件的持久化替换。 |
RelationMapWrite | 等待写入关系映射文件。 |
ReorderBufferRead | 重排序缓冲区管理期间的读取等待。 |
ReorderBufferWrite | 重排序缓冲区管理期间的写入等待。 |
ReorderLogicalMappingRead | 重排序缓冲区管理期间等待读取逻辑映射。 |
ReplicationSlotRead | 等待从复制槽控制文件读取。 |
ReplicationSlotRestoreSync | 将复制槽控制文件恢复到内存时等待其落盘。 |
ReplicationSlotSync | 等待复制槽控制文件落盘。 |
ReplicationSlotWrite | 等待写入复制槽控制文件。 |
SlruFlushSync | 在检查点或数据库关闭期间等待 SLRU 数据落盘。 |
SlruRead | 等待读取 SLRU 页面。 |
SlruSync | 页面写入后等待 SLRU 数据落盘。 |
SlruWrite | 等待写入 SLRU 页面。 |
SnapbuildRead | 等待读取序列化的历史目录快照。 |
SnapbuildSync | 等待序列化的历史目录快照落盘。 |
SnapbuildWrite | 等待写入序列化的历史目录快照。 |
TimelineHistoryFileSync | 等待通过流复制接收的时间线历史文件落盘。 |
TimelineHistoryFileWrite | 等待写入通过流复制接收的时间线历史文件。 |
TimelineHistoryRead | 等待读取时间线历史文件。 |
TimelineHistorySync | 等待新建的时间线历史文件落盘。 |
TimelineHistoryWrite | 等待写入新建的时间线历史文件。 |
TwophaseFileRead | 等待读取两阶段状态文件。 |
TwophaseFileSync | 等待两阶段状态文件落盘。 |
TwophaseFileWrite | 等待写入两阶段状态文件。 |
VersionFileSync | 创建数据库期间等待版本文件落盘。 |
VersionFileWrite | 创建数据库期间等待版本文件被写入。 |
WalsenderTimelineHistoryRead | walsender 时间线命令期间等待从时间线历史文件读取。 |
WalBootstrapSync | 引导期间等待 WAL 落盘。 |
WalBootstrapWrite | 引导期间等待写入 WAL 页面。 |
WalCopyRead | 通过复制现有段创建新 WAL 段时的读取等待。 |
WalCopySync | 等待通过复制现有段新建的 WAL 段落盘。 |
WalCopyWrite | 通过复制现有段创建新 WAL 段时的写入等待。 |
WalInitSync | 等待新初始化的 WAL 文件落盘。 |
WalInitWrite | 初始化新 WAL 文件时的写入等待。 |
WalRead | 等待从 WAL 文件读取。 |
WalSummaryRead | 等待从 WAL 汇总文件读取。 |
WalSummaryWrite | 等待写入 WAL 汇总文件。 |
WalSync | 等待 WAL 文件落盘。 |
WalSyncMethodAssign | 指定新的 WAL 同步方法时等待数据落盘。 |
WalWrite | 等待写入 WAL 文件。 |
Table 27.10. Ipc 类型的等待事件
IPC Wait Event | 描述 |
|---|---|
AppendReady | 等待 Append 计划节点的子计划节点就绪。 |
ArchiveCleanupCommand | 等待 archive_cleanup_command 完成。 |
ArchiveCommand | 等待 archive_command 完成。 |
BackendTermination | 等待另一个后端终止。 |
BackupWaitWalArchive | 等待备份所需的 WAL 文件被成功归档。 |
BgworkerShutdown | 等待后台工作进程关闭。 |
BgworkerStartup | 等待后台工作进程启动。 |
BtreePage | 等待继续并行 B 树扫描所需的页码可用。 |
BufferIo | 等待缓冲区 I/O 完成。 |
CheckpointDelayComplete | 等待阻塞检查点完成的后端。 |
CheckpointDelayStart | 等待阻塞检查点启动的后端。 |
CheckpointDone | 等待检查点完成。 |
CheckpointStart | 等待检查点启动。 |
ExecuteGather | 执行 Gather 计划节点期间等待子进程活动。 |
HashBatchAllocate | 等待被选中的并行哈希参与者分配哈希表。 |
HashBatchElect | 等待选举并行哈希参与者以分配哈希表。 |
HashBatchLoad | 等待其他并行哈希参与者完成加载哈希表。 |
HashBuildAllocate | 等待被选中的并行哈希参与者分配初始哈希表。 |
HashBuildElect | 等待选举并行哈希参与者以分配初始哈希表。 |
HashBuildHashInner | 等待其他并行哈希参与者完成对内关系的哈希。 |
HashBuildHashOuter | 等待其他并行哈希参与者完成对外关系的分区。 |
HashGrowBatchesDecide | 等待选举并行哈希参与者以决定后续批次增长。 |
HashGrowBatchesElect | 等待选举并行哈希参与者以分配更多批次。 |
HashGrowBatchesFinish | 等待被选中的并行哈希参与者决定后续批次增长。 |
HashGrowBatchesReallocate | 等待被选中的并行哈希参与者分配更多批次。 |
HashGrowBatchesRepartition | 等待其他并行哈希参与者完成重新分区。 |
HashGrowBucketsElect | 等待选举并行哈希参与者以分配更多桶。 |
HashGrowBucketsReallocate | 等待被选中的并行哈希参与者完成分配更多桶。 |
HashGrowBucketsReinsert | 等待其他并行哈希参与者完成向新桶插入元组。 |
LogicalApplySendData | 等待逻辑复制领导者应用进程向并行应用进程发送数据。 |
LogicalParallelApplyStateChange | 等待逻辑复制并行应用进程改变状态。 |
LogicalSyncData | 等待逻辑复制远端服务器发送用于初始表同步的数据。 |
LogicalSyncStateChange | 等待逻辑复制远端服务器改变状态。 |
MessageQueueInternal | 等待另一进程附加到共享消息队列。 |
MessageQueuePutMessage | 等待向共享消息队列写入协议消息。 |
MessageQueueReceive | 等待从共享消息队列接收字节。 |
MessageQueueSend | 等待向共享消息队列发送字节。 |
MultixactCreation | 等待多重事务创建完成。 |
ParallelBitmapScan | 等待并行位图扫描完成初始化。 |
ParallelCreateIndexScan | 等待并行 CREATE INDEX 工作进程完成堆扫描。 |
ParallelFinish | 等待并行工作进程完成计算。 |
ProcarrayGroupUpdate | 事务结束时等待组长清除事务 ID。 |
ProcSignalBarrier | 等待所有后端处理完屏障事件。 |
Promote | 等待备库提升。 |
RecoveryConflictSnapshot | 等待针对清理清理的恢复冲突解决。 |
RecoveryConflictTablespace | 等待针对删除表空间的恢复冲突解决。 |
RecoveryEndCommand | 等待 recovery_end_command 完成。 |
RecoveryPause | 等待恢复被继续执行。 |
ReplicationOriginDrop | 等待复制源变为非活动状态以便删除。 |
ReplicationSlotDrop | 等待复制槽变为非活动状态以便删除。 |
RestoreCommand | 等待 restore_command 完成。 |
SafeSnapshot | 等待为 READ ONLY DEFERRABLE 事务获取有效快照。 |
SyncRep | 同步复制期间等待远端服务器确认。 |
WalReceiverExit | 等待 WAL 接收者退出。 |
WalReceiverUpstreamCatchup | 等待上游服务器的 WAL 刷写位置追上请求的起始点。 |
WalReceiverWaitStart | 等待启动进程发送流复制的初始数据。 |
WalSummaryReady | 等待生成新的 WAL 汇总。 |
XactGroupUpdate | 事务结束时等待组长更新事务状态。 |
Table 27.11. Lock 类型的等待事件
Lock 等待事件 | 描述 |
|---|---|
advisory | 等待获取咨询用户锁。 |
applytransaction | 等待获取逻辑复制订阅者正在应用的远端事务上的锁。 |
extend | 等待扩展关系。 |
frozenid | 等待更新 pg_database.datfrozenxid 与 pg_database.datminmxid。 |
object | 等待获取非关系数据库对象上的锁。 |
page | 等待获取关系页面上的锁。 |
relation | 等待获取关系上的锁。 |
spectoken | 等待获取推测性插入锁。 |
transactionid | 等待事务结束。 |
tuple | 等待获取元组上的锁。 |
userlock | 等待获取用户锁。 |
virtualxid | 等待获取虚拟事务 ID 锁;参见 Section 67.1。 |
Table 27.12. Lwlock 类型的等待事件
LWLock Wait Event | 描述 |
|---|---|
AddinShmemInit | 等待管理扩展在共享内存中的空间分配。 |
AioUringCompletion | 等待另一进程通过 io_uring 完成 I/O。 |
AioWorkerSubmissionQueue | 等待访问异步 I/O 工作进程提交队列。 |
AutoFile | 等待更新 postgresql.auto.conf 文件。 |
Autovacuum | 等待读取或更新自动清理工作进程的当前状态。 |
AutovacuumSchedule | 等待确认被选定为自动清理的表仍需要清理。 |
BackgroundWorker | 等待读取或更新后台工作进程状态。 |
BtreeVacuum | 等待读取或更新 B 树索引的清理相关信息。 |
BufferContent | 等待访问内存中的数据页面。 |
BufferMapping | 等待将数据块与缓冲池中的缓冲区关联。 |
CheckpointerComm | 等待管理 fsync 请求。 |
CommitTs | 等待读取或更新事务提交时间戳的最后设置值。 |
CommitTsBuffer | 等待提交时间戳 SLRU 缓冲区上的 I/O。 |
CommitTsSLRU | 等待访问提交时间戳 SLRU 缓存。 |
ControlFile | 等待读取或更新 pg_control 文件或创建新 WAL 文件。 |
DSMRegistry | 等待读取或更新动态共享内存注册表。 |
DSMRegistryDSA | 等待访问动态共享内存注册表的动态共享内存分配器。 |
DSMRegistryHash | 等待访问动态共享内存注册表的共享哈希表。 |
DynamicSharedMemoryControl | 等待读取或更新动态共享内存分配信息。 |
InjectionPoint | 等待读取或更新注入点相关信息。 |
LockFastPath | 等待读取或更新进程的快速路径锁信息。 |
LockManager | 等待读取或更新“重量级”锁信息。 |
LogicalRepLauncherDSA | 等待访问逻辑复制启动进程的动态共享内存分配器。 |
LogicalRepLauncherHash | 等待访问逻辑复制启动进程的共享哈希表。 |
LogicalRepWorker | 等待读取或更新逻辑复制工作进程的状态。 |
MultiXactGen | 等待读取或更新共享多重事务状态。 |
MultiXactMemberBuffer | 等待多重事务成员 SLRU 缓冲区上的 I/O。 |
MultiXactMemberSLRU | 等待访问多重事务成员 SLRU 缓存。 |
MultiXactOffsetBuffer | 等待多重事务偏移量 SLRU 缓冲区上的 I/O。 |
MultiXactOffsetSLRU | 等待访问多重事务偏移量 SLRU 缓存。 |
MultiXactTruncation | 等待读取或截断多重事务信息。 |
NotifyBuffer | 等待 NOTIFY 消息 SLRU 缓冲区上的 I/O。 |
NotifyQueue | 等待读取或更新 NOTIFY 消息。 |
NotifyQueueTail | 等待更新 NOTIFY 消息存储的上限。 |
NotifySLRU | 等待访问 NOTIFY 消息 SLRU 缓存。 |
OidGen | 等待分配新的 OID。 |
ParallelAppend | Parallel Append 计划执行期间等待选择下一个子计划。 |
ParallelBtreeScan | 并行 B 树扫描计划执行期间等待工作进程同步。 |
ParallelHashJoin | 并行哈希连接计划执行期间等待工作进程同步。 |
ParallelQueryDSA | 等待并行查询的动态共享内存分配。 |
ParallelVacuumDSA | 等待并行清理的动态共享内存分配。 |
PerSessionDSA | 等待并行查询的动态共享内存分配。 |
PerSessionRecordType | 等待访问并行查询的组合类型信息。 |
PerSessionRecordTypmod | 等待访问并行查询中标识匿名记录类型的类型修饰符信息。 |
PerXactPredicateList | 并行查询期间等待访问当前可串行化事务持有的谓词锁列表。 |
PgStatsData | 等待访问共享内存统计数据。 |
PgStatsDSA | 等待访问统计动态共享内存分配器。 |
PgStatsHash | 等待访问统计共享内存哈希表。 |
PredicateLockManager | 等待访问可串行化事务使用的谓词锁信息。 |
ProcArray | 等待访问共享的每进程数据结构(通常用于获取快照或报告会话的事务 ID)。 |
RelationMapping | 等待读取或更新 pg_filenode.map 文件(用于跟踪某些系统目录的 filenode 分配)。 |
RelCacheInit | 等待读取或更新 pg_internal.init 关系缓存初始化文件。 |
ReplicationOrigin | 等待创建、删除或使用复制源。 |
ReplicationOriginState | 等待读取或更新某个复制源的进度。 |
ReplicationSlotAllocation | 等待分配或释放复制槽。 |
ReplicationSlotControl | 等待读取或更新复制槽状态。 |
ReplicationSlotIO | 等待复制槽上的 I/O。 |
SerialBuffer | 等待可串行化事务冲突 SLRU 缓冲区上的 I/O。 |
SerialControl | 等待读取或更新共享 pg_serial 状态。 |
SerializableFinishedList | 等待访问已完成可串行化事务的列表。 |
SerializablePredicateList | 等待访问可串行化事务持有的谓词锁列表。 |
SerializableXactHash | 等待读取或更新可串行化事务信息。 |
SerialSLRU | 等待访问可串行化事务冲突 SLRU 缓存。 |
SharedTidBitmap | 并行位图索引扫描期间等待访问共享 TID 位图。 |
SharedTupleStore | 并行查询期间等待访问共享元组存储。 |
ShmemIndex | 等待在共享内存中查找或分配空间。 |
SInvalRead | 等待从共享目录失效队列取回消息。 |
SInvalWrite | 等待向共享目录失效队列添加消息。 |
SubtransBuffer | 等待子事务 SLRU 缓冲区上的 I/O。 |
SubtransSLRU | 等待访问子事务 SLRU 缓存。 |
SyncRep | 等待读取或更新同步复制状态信息。 |
SyncScan | 等待选择同步表扫描的起始位置。 |
TablespaceCreate | 等待创建或删除表空间。 |
TwoPhaseState | 等待读取或更新已准备事务的状态。 |
WaitEventCustom | 等待读取或更新自定义等待事件信息。 |
WALBufMapping | 等待替换 WAL 缓冲区中的页面。 |
WALInsert | 等待将 WAL 数据插入内存缓冲区。 |
WALSummarizer | 等待读取或更新 WAL 汇总状态。 |
WALWrite | 等待 WAL 缓冲区写入磁盘。 |
WrapLimitsVacuum | 等待更新事务 ID 与多重事务的消耗上限。 |
XactBuffer | 等待事务状态 SLRU 缓冲区上的 I/O。 |
XactSLRU | 等待访问事务状态 SLRU 缓存。 |
XactTruncation | 等待执行 pg_xact_status 或更新其可用的最旧事务 ID。 |
XidGen | 等待分配新的事务 ID。 |
Table 27.13. Timeout 类型的等待事件
Timeout 等待事件 | 描述 |
|---|---|
BaseBackupThrottle | 基础备份期间限流活动时的等待。 |
CheckpointWriteDelay | 执行检查点期间写入之间的等待。 |
PgSleep | 因调用 pg_sleep 或同类函数而等待。 |
RecoveryApplyDelay | 恢复期间因延迟设置而等待应用 WAL。 |
RecoveryRetrieveRetryInterval | 恢复期间所有来源(pg_wal、归档或流)均无法提供 WAL 数据时的等待。 |
RegisterSyncRequest | 因请求队列已满而向检查点进程发送同步请求时的等待。 |
SpinDelay | 获取竞争中的自旋锁时的等待。 |
VacuumDelay | 处于基于代价的清理延迟点时的等待。 |
VacuumTruncate | 等待获取排他锁以截断被清理表末尾的空页。 |
WalSummarizerError | WAL 汇总器出错后的等待。 |
pg_stat_replication 视图 #显示主节点上正在向备节点流式发送 WAL 的 walsender 进程状态。
Table 27.14. pg_stat_replication 字段
| 字段 | 说明 |
|---|---|
client_addr | 备库 IP 地址 |
replay_lsn | 备库最新回放位点 |
pg_stat_replication_slots 视图 #提供关于逻辑与物理复制槽的数据处理度量统计。
Table 27.15. pg_stat_replication_slots 字段
| 字段 | 说明 |
|---|---|
slot_name | 复制槽名称 |
spill_bytes | 解码溢出到磁盘的字节数 |
pg_stat_wal_receiver 视图 #在备库上显示正在接收 WAL 流的 walreceiver 工作进程实时状态。
Table 27.16. pg_stat_wal_receiver 字段
| 字段 | 说明 |
|---|---|
status | 接收器运行状态 |
pg_stat_recovery_prefetch 视图 #显示备库或故障恢复期间预读磁盘块的命中统计。
Table 27.17. pg_stat_recovery_prefetch 字段
| 字段 | 说明 |
|---|---|
prefetch | 预读页面计数 |
pg_stat_subscription 视图 #显示订阅端上逻辑复制各个订阅工作进程的实时连接状态。
Table 27.18. pg_stat_subscription 字段
| 字段 | 说明 |
|---|---|
subname | 订阅名称 |
pg_stat_subscription_stats 视图 #提供逻辑复制订阅的累积失败与冲突度量统计。
Table 27.19. pg_stat_subscription_stats 字段
| 字段 | 说明 |
|---|---|
confl_count | 写入冲突计数 |
pg_stat_ssl 视图 #显示当前每个客户端会话的 SSL/TLS 连接加密详情(加密算法、协议版本等)。
Table 27.20. pg_stat_ssl 字段
| 字段 | 说明 |
|---|---|
ssl | 是否启用 SSL |
pg_stat_gssapi 视图 #显示当前客户端连接的 GSSAPI 身份认证与加密状态。
Table 27.21. pg_stat_gssapi 字段
| 字段 | 说明 |
|---|---|
gss_authenticated | 是否通过 GSSAPI 认证 |
pg_stat_archiver 视图 #显示 WAL 归档进程的成功与失败计数及最近归档时间。
Table 27.22. pg_stat_archiver 字段
| 字段 | 说明 |
|---|---|
archived_count | 成功归档段数 |
pg_stat_io 视图 #提供整个集群按照后台进程类型、上下文目标与 I/O 操作类型划分的细粒度读写读写统计。
Table 27.23. pg_stat_io 字段
| 字段 | 说明 |
|---|---|
backend_type | 后台进程类别 |
reads | 物理读页面数 |
pg_stat_bgwriter 视图 #显示后台写进程(bgwriter)的物理页面刷盘清理统计。
Table 27.24. pg_stat_bgwriter 字段
| 字段 | 说明 |
|---|---|
buffers_clean | 清理写出的缓冲区页数 |
pg_stat_checkpointer 视图 #显示检查点工作进程的执行频次、触发原因及刷盘耗时。
Table 27.25. pg_stat_checkpointer 字段
| 字段 | 说明 |
|---|---|
num_timed | 定时检查点次数 |
pg_stat_wal 视图 #显示预写式日志(WAL)的生成总量、写入与 fsync 刷盘开销。
Table 27.26. pg_stat_wal 字段
| 字段 | 说明 |
|---|---|
wal_records | 生成的 WAL 记录数 |
pg_stat_database 视图 #显示数据库级别的整体聚合度量(事务提交数、回滚数、死锁数、冲突数等)。
Table 27.27. pg_stat_database 字段
| 字段 | 说明 |
|---|---|
xact_commit | 提交事务总数 |
pg_stat_database_conflicts 视图 #显示热备节点上由不同原因导致的查询取消冲突统计。
Table 27.28. pg_stat_database_conflicts 字段
| 字段 | 说明 |
|---|---|
confl_lock | 锁冲突取消计数 |
pg_stat_all_tables 视图 #显示各数据表的顺序扫描次数、行读取数、存活与死元组数以及上次自动清理时间。
Table 27.29. pg_stat_all_tables 字段
| 字段 | 说明 |
|---|---|
n_dead_tup | 死元组估计数量 |
pg_stat_all_indexes 视图 #显示各索引的扫描次数、抓取元组数及效率。
Table 27.30. pg_stat_all_indexes 字段
| 字段 | 说明 |
|---|---|
idx_scan | 索引扫描次数 |
pg_statio_all_tables 视图 #显示表数据块的真实物理磁盘读取数与共享内存缓冲区命中数。
Table 27.31. pg_statio_all_tables 字段
| 字段 | 说明 |
|---|---|
heap_blks_hit | 内存命中块数 |
pg_statio_all_indexes 视图 #显示索引数据块的磁盘读取与内存命中统计。
Table 27.32. pg_statio_all_indexes 字段
| 字段 | 说明 |
|---|---|
idx_blks_hit | 索引内存命中块数 |
pg_statio_all_sequences 视图 #显示序列对象的 I/O 读写与缓存命中统计。
Table 27.33. pg_statio_all_sequences 字段
| 字段 | 说明 |
|---|---|
blks_hit | 序列内存命中块数 |
pg_stat_user_functions 视图 #显示用户自定义函数的执行次数、单次调用总耗时与自身耗时。
Table 27.34. pg_stat_user_functions 字段
| 字段 | 说明 |
|---|---|
calls | 调用总次数 |
pg_stat_slru 视图 #显示简单近期最少使用(SLRU)缓存的读写、命中与落盘统计。
Table 27.35. pg_stat_slru 字段
| 字段 | 说明 |
|---|---|
blks_hit | SLRU 命中块数 |
用于查询与重置统计收集器数据的内置函数。
Table 27.36. 常用统计查询函数
| 函数 | 说明 |
|---|---|
pg_stat_reset() | 重置集群所有累积统计 |
Table 27.37. 后台统计提取函数
| 函数 | 说明 |
|---|---|
pg_stat_get_backend_io() | 获取指定后台进程的 I/O 统计 |
pg_stat_get_backend_wal() | 获取指定后台进程的 WAL 统计 |