Summary
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.
(Description quoted from the official PostgreSQL documentation.)
Columns
The pg_aios system view exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):
pidint4
Process ID of the server process that is issuing this I/O.io_idint4
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.statetext
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 completedoperationtext
Operation performed using the I/O handle: invalid, not yet known readv, a vectored read writev, a vectored writeoffint8
Offset of the I/O operation.lengthint8
Length of the I/O operation.targettext
What kind of object is the I/O targeting: smgr, I/O on relationshandle_data_lenint2
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_resultint4
Low-level result of the I/O operation, or NULL if the operation has not yet completed.resulttext
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_desctext
Description of what the I/O operation is targeting.f_syncbool
Flag indicating whether the I/O is executed synchronously.f_localmembool
Flag indicating whether the I/O references process local memory.f_bufferedbool
Flag indicating whether the I/O is buffered I/O.
Version applicability
Present in PostgreSQL 18, 19 (verified against each release’s documentation). This object was introduced in PostgreSQL 18.
Related & references
Reference: PostgreSQL documentation — pg_aios.