Development Versions: 18 / devel
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

53.2. pg_aios #

The pg_aios view lists all Asynchronous I/O handles that are currently in-use. An I/O handle is used to reference an I/O operation that is being prepared, executed or is in the process of completing. pg_aios contains one row for each I/O handle.

This view is mainly useful for developers of PostgreSQL, but may also be useful when tuning PostgreSQL.

Table 53.2. pg_aios Columns

Column Type

Description

pid int4

Process ID of the server process that is issuing this I/O.

io_id int4

Identifier of the I/O handle. Handles are reused once the I/O completed (or if the handle is released before I/O is started). On reuse pg_aios.io_generation is incremented.

io_generation int8

Generation of the I/O handle.

state text

State of the I/O handle:

  • HANDED_OUT, referenced by code but not yet used

  • DEFINED, information necessary for execution is known

  • STAGED, ready for execution

  • SUBMITTED, submitted for execution

  • COMPLETED_IO, finished, but result has not yet been processed

  • COMPLETED_SHARED, shared completion processing completed

  • COMPLETED_LOCAL, backend local completion processing completed

operation text

Operation performed using the I/O handle:

  • invalid, not yet known

  • readv, a vectored read

  • writev, a vectored write

off int8

Offset of the I/O operation.

length int8

Length of the I/O operation.

target text

What kind of object is the I/O targeting:

  • smgr, I/O on relations

handle_data_len int2

Length of the data associated with the I/O operation. For I/O to/from shared_buffers and temp_buffers, this indicates the number of buffers the I/O is operating on.

raw_result int4

Low-level result of the I/O operation, or NULL if the operation has not yet completed.

result text

High-level result of the I/O operation:

  • UNKNOWN means that the result of the operation is not yet known.

  • OK means the I/O completed successfully.

  • PARTIAL means that the I/O completed without error, but did not process all data. Commonly callers will need to retry and perform the remainder of the work in a separate I/O.

  • WARNING means that the I/O completed without error, but that execution of the IO triggered a warning. E.g. when encountering a corrupted buffer with zero_damaged_pages enabled.

  • ERROR means the I/O failed with an error.

target_desc text

Description of what the I/O operation is targeting.

f_sync bool

Flag indicating whether the I/O is executed synchronously.

f_localmem bool

Flag indicating whether the I/O references process local memory.

f_buffered bool

Flag indicating whether the I/O is buffered I/O.


The pg_aios view is read-only.

By default, the pg_aios view can be read only by superusers or roles with privileges of the pg_read_all_stats role.