受支持版本: 当前版本 (18) / 16 / 15
开发版本: devel

53.2. pg_aios #

pg_aios 视图列出当前正在使用的全部 异步 I/O 句柄。I/O 句柄用于引用正在准备、执行或处于完成过程中的 I/O 操作。pg_aios 为每个 I/O 句柄提供一行。

该视图主要对 PostgreSQL 开发者有用, 但在调优 PostgreSQL 时也可能有帮助。

Table 53.2. pg_aios

列类型

描述

pid int4

发起该 I/O 的服务器进程 ID。

io_id int4

I/O 句柄的标识符。I/O 完成后(或者在 I/O 启动前释放句柄时),句柄会被复用。每次复用时, pg_aios.io_generation 都会递增。

io_generation int8

I/O 句柄的代次。

state text

I/O 句柄的状态:

  • HANDED_OUT,已被代码引用但尚未使用

  • DEFINED,执行所需的信息已知

  • STAGED,已就绪,可执行

  • SUBMITTED,已提交执行

  • COMPLETED_IO,已完成,但结果尚未处理

  • COMPLETED_SHARED,共享完成处理已完成

  • COMPLETED_LOCAL,后端本地完成处理已完成

operation text

使用 I/O 句柄执行的操作:

  • invalid,尚未知晓

  • readv,向量化读取

  • writev,向量化写入

off int8

I/O 操作的偏移量。

length int8

I/O 操作的长度。

target text

I/O 的目标对象类型:

  • smgr,关系上的 I/O

handle_data_len int2

与 I/O 操作关联的数据长度。对于指向或来自 shared_bufferstemp_buffers 的 I/O,该值表示 I/O 正在操作的缓冲区个数。

raw_result int4

I/O 操作的底层结果;如果操作尚未完成,则为 NULL

result text

I/O 操作的高级结果:

  • UNKNOWN 表示操作结果尚未知晓。

  • OK 表示 I/O 已成功完成。

  • PARTIAL 表示 I/O 完成时没有出错,但未处理全部数据。通常调用方需要在单独的 I/O 中重试并完成剩余工作。

  • WARNING 表示 I/O 完成时没有出错,但执行 I/O 时触发了警告。例如,在启用 zero_damaged_pages 时遇到损坏的缓冲区。

  • ERROR 表示 I/O 因错误而失败。

target_desc text

I/O 操作目标的描述。

f_sync bool

标记该 I/O 是否同步执行。

f_localmem bool

标记该 I/O 是否引用进程本地内存。

f_buffered bool

标记该 I/O 是否为缓冲 I/O。


pg_aios 视图是只读的。

默认情况下,pg_aios视图只能由超级用户或具有 pg_read_all_stats 角色权限的角色读取。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。