pg_stat_io
pg_stat_io 视图对每种后端类型、目标 I/O 对象和 I/O 上下文的组合各提供一行,显示整个集簇范围内的 I/O 统计信息。没有意义的组合会被省略。 目前会跟踪关系(例如表、索引)的 I/O 以及 WAL 活动。不过,绕过共享缓冲区的关系 I/O(例如将表从一个表空间移动到另一个表空间时)目前不会被跟踪。
英文手册覆盖始于 PostgreSQL 7.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- kind
- statistics
- lang
- en
- measured attributes
- true
- metadata release
- 18.6
- runtime columns
- backend_type, object, context, reads, read_bytes, read_time, writes, write_bytes, write_time, writebacks, writeback_time, extends, extend_bytes, extend_time, hits, evictions, reuses, fsyncs, fsync_time, stats_reset
- runtime verified
- false
- source
- english-manual
版本定义 PG 18
pg_stat_io 视图对每种后端类型、目标 I/O 对象和 I/O 上下文的组合各提供一行,显示整个集簇范围内的 I/O 统计信息。没有意义的组合会被省略。 目前会跟踪关系(例如表、索引)的 I/O 以及 WAL 活动。不过,绕过共享缓冲区的关系 I/O(例如将表从一个表空间移动到另一个表空间时)目前不会被跟踪。
目录列
| 列 | 类型 | 可空性 | 描述 |
|---|---|---|---|
| backend_type | text | 可空 | 后端类型(例如后台工作进程、自动清理工作进程)。有关 backend_type 的更多信息,请参阅pg_stat_activity。某些 backend_type 不会累积 I/O 操作统计信息,因此不会出现在该视图中。 |
| object | text | 可空 | I/O 操作的目标对象。可能的值有: |
| context | text | 可空 | I/O 操作的上下文。可能的值有: |
| reads | bigint | 可空 | 读取操作的数量。 |
| read_bytes | numeric | 可空 | 读取操作的总大小(以字节为单位)。 |
| read_time | double precision | 可空 | 等待读取操作所花费的时间,以毫秒计(如果启用了track_io_timing且 object 不是 wal,或者启用了track_wal_io_timing且 object 是 wal;否则为零)。 |
| writes | bigint | 可空 | 写入操作的数量。 |
| write_bytes | numeric | 可空 | 写入操作的总大小(以字节为单位)。 |
| write_time | double precision | 可空 | 等待写入操作所花费的时间,以毫秒计(如果启用了track_io_timing且 object 不是 wal,或者启用了track_wal_io_timing且 object 是 wal;否则为零)。 |
| writebacks | bigint | 可空 | 进程请求内核写出到永久存储的、大小为 BLCKSZ(通常为 8kB)的单位数量。 |
| writeback_time | double precision | 可空 | 等待写回操作所花费的时间,以毫秒计(如果启用了track_io_timing,否则为零)。这包括排队写出请求所花费的时间,以及可能实际写出脏数据所花费的时间。 |
| extends | bigint | 可空 | 关系扩展操作的数量。 |
| extend_bytes | numeric | 可空 | 关系扩展操作的总大小(以字节为单位)。 |
| extend_time | double precision | 可空 | 等待扩展操作所花费的时间,以毫秒计(如果启用了track_io_timing且 object 不是 wal,或者启用了track_wal_io_timing且 object 是 wal;否则为零)。 |
| hits | bigint | 可空 | 在共享缓冲区中找到所需块的次数。 |
| evictions | bigint | 可空 | 为了腾出空间供其他用途而将块从共享或本地缓冲区写出的次数。 在 context 为 normal 时,这会统计块从缓冲区中被驱逐并由另一个块替换的次数。在 context 为 bulkwrite、bulkread 和 vacuum 时,这会统计块从共享缓冲区中被驱逐,从而把该共享缓冲区加入到单独的、大小受限的环形缓冲区中以供批量 I/O 操作使用的次数。 |
| reuses | bigint | 可空 | 在 bulkread、bulkwrite 或 vacuum 这些 context 中,作为 I/O 操作一部分,位于共享缓冲区之外的大小受限环形缓冲区中已有缓冲区被重用的次数。 |
| fsyncs | bigint | 可空 | fsync 调用次数。这些只会在 context 为 normal 时被跟踪。 |
| fsync_time | double precision | 可空 | 等待 fsync 操作所花费的时间,以毫秒计(如果启用了track_io_timing且 object 不是 wal,或者启用了track_wal_io_timing且 object 是 wal;否则为零)。 |
| stats_reset | timestamp with time zone | 可空 | 这些统计信息上次被重置的时间。 |
比较版本
来源引用
定义来源
center · PostgreSQL 18 · english-manuals:a988e06d8d8fb9a062eea416969862905d48bb408de1758b55654bc39caebecc
正文语言: zh-Hans · 2026-09-27@419045e