53.2. `pg_aios`
Prev | Up | Chapter 53. System Views | Home | Next

## 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.

Prev | Up | Next
53.1. Overview | Home | 53.3. `pg_available_extensions`