Skip to content

`pg_aios`

pg_aios

The pg_aios view lists all glossary-aio 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: 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.