Home Explore Blog CI



postgresql

35th chunk of `doc/src/sgml/monitoring.sgml`
c593b4ef5fa22fff409d4bfe301c8b327509929ca81399c40000000100000fa0
      includes the time spent queueing write-out requests and, potentially,
        the time spent to write out the dirty data.
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>extends</structfield> <type>bigint</type>
       </para>
       <para>
        Number of relation extend operations.
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>extend_bytes</structfield> <type>numeric</type>
       </para>
       <para>
        The total size of relation extend operations in bytes.
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>extend_time</structfield> <type>double precision</type>
       </para>
       <para>
        Time spent waiting for extend operations in milliseconds. (if
        <xref linkend="guc-track-io-timing"/> is enabled and
        <varname>object</varname> is not <literal>wal</literal>,
        or if <xref linkend="guc-track-wal-io-timing"/> is enabled
        and <varname>object</varname> is <literal>wal</literal>,
        otherwise zero)
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>hits</structfield> <type>bigint</type>
       </para>
       <para>
        The number of times a desired block was found in a shared buffer.
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>evictions</structfield> <type>bigint</type>
       </para>
       <para>
        Number of times a block has been written out from a shared or local
        buffer in order to make it available for another use.
       </para>
       <para>
        In <varname>context</varname> <literal>normal</literal>, this counts
        the number of times a block was evicted from a buffer and replaced with
        another block. In <varname>context</varname>s
        <literal>bulkwrite</literal>, <literal>bulkread</literal>, and
        <literal>vacuum</literal>, this counts the number of times a block was
        evicted from shared buffers in order to add the shared buffer to a
        separate, size-limited ring buffer for use in a bulk I/O operation.
        </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>reuses</structfield> <type>bigint</type>
       </para>
       <para>
        The number of times an existing buffer in a size-limited ring buffer
        outside of shared buffers was reused as part of an I/O operation in the
        <literal>bulkread</literal>, <literal>bulkwrite</literal>, or
        <literal>vacuum</literal> <varname>context</varname>s.
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>fsyncs</structfield> <type>bigint</type>
       </para>
       <para>
        Number of <literal>fsync</literal> calls. These are only tracked in
        <varname>context</varname> <literal>normal</literal>.
       </para>
      </entry>
     </row>

     <row>
      <entry role="catalog_table_entry">
       <para role="column_definition">
        <structfield>fsync_time</structfield> <type>double precision</type>
       </para>
       <para>
        Time spent waiting for fsync operations in milliseconds (if
        <xref linkend="guc-track-io-timing"/> is enabled and
        <varname>object</varname> is not <literal>wal</literal>,
        or if <xref linkend="guc-track-wal-io-timing"/> is enabled
        and <varname>object</varname> is <literal>wal</literal>,
        otherwise zero)
       </para>
      </entry>
     </row>

Title: pg_stat_io View: Extends, Hits, Evictions, Reuses, and Fsyncs
Summary
This section describes the remaining columns of the `pg_stat_io` view, focusing on relation extends, buffer hits, buffer evictions, ring buffer reuses, and fsync calls. It covers `extends` (number and size of relation extend operations with optional timing), `hits` (number of shared buffer hits), `evictions` (number of buffer evictions in different contexts like normal, bulkread, bulkwrite, and vacuum), `reuses` (number of reuses of buffers in size-limited ring buffers), and `fsyncs` (number and time spent on fsync calls with optional timing).