atorik · GitHub

Commits on Aug 22, 2026

  1. Add storage I/O tracking to 'IO' option

    The 'BUFFERS' option currently indicates whether a block hit the shared
    buffer, but does not distinguish between a cache hit in the OS cache or
    a storage I/O operation.
    While shared buffers and OS cache offer similar performance, storage
    I/O is significantly slower in comparison in general.  By measuring
    the numbers of storage I/O read and write, we can better identify if
    storage I/O is a bottleneck in performance.
    This patch enables to track storage I/O usage by calling getrusage(2)
    at both the planning and execution phase start and end points.
    A more granular approach as well as current BUFFERS option(tracking at
    each plan node) was considered but found to be impractical due to the
    high performance cost of frequent getrusage() calls.
    Note that no output is shown when io_method=worker, since asynchronous
    workers handle I/O for multiple processes, and isolating the EXPLAIN
    target's I/O is difficult.
    TODO:
    I believe this information is mainly useful when used in auto_explain.
    I'm going to implement it if this patch is merged.

    authored and Commitfest Bot committed

    Aug 22, 2026
    Configuration menu

    Browse the repository at this point in the history

  2. Configuration menu

    Browse the repository at this point in the history

Read the original on github.com ↗