Skip to content
← Catalog atlas / pg_aios

SYSTEM VIEW · System view

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.

First seen PG 18Last seen PG 19Columns 15

Checked column by column against a PostgreSQL 18.6 instance · Raw measurement record ↗

Columns PostgreSQL 18

pg_aios
COLUMNTYPEDESCRIPTION
pid integerDocumented as:int4 Process ID of the server process that is issuing this I/O.
io_id integerDocumented as: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 bigintDocumented as:int8 Generation of the I/O handle.
state text State of the I/O handle:
operation text Operation performed using the I/O handle:
off bigintDocumented as:int8 Offset of the I/O operation.
length bigintDocumented as:int8 Length of the I/O operation.
target text What kind of object is the I/O targeting:
handle_data_len smallintDocumented as: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 integerDocumented as: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:
target_desc text Description of what the I/O operation is targeting.
f_sync booleanDocumented as:bool Flag indicating whether the I/O is executed synchronously.
f_localmem booleanDocumented as:bool Flag indicating whether the I/O references process local memory.
f_buffered booleanDocumented as:bool Flag indicating whether the I/O is buffered I/O.

Columns marked "implicit" are not included in SELECT *; some early statistics views are completed from same-version source, and the extra provenance is shown in the column description.

Column evolution matrix

Hover a cell for the column type
PresentAdded / type or attribute changeRemoved
COLUMN9.09.19.29.39.49.59.610111213141516171819
pid
io_id
io_generation
state
operation
off
length
target
handle_data_len
raw_result
result
target_desc
f_sync
f_localmem
f_buffered

9.0 is the coverage baseline; a column already present in the baseline is not marked as added. The matrix aligns columns by name, so a rename appears as the old column removed and a new column added.

Evolution timeline

Changes between adjacent majors

PostgreSQL 18 ← 17Catalog added

+ pid+ io_id+ io_generation+ state+ operation+ off+ length+ target+ handle_data_len+ raw_result+ result+ target_desc+ f_sync+ f_localmem+ f_buffered

Compare any two versions

Pick two versions to see added, removed, and retyped columns. The interactive comparison needs JavaScript; the evolution timeline reads fine without it.