52.30. pg_stats_vacuum_database #

Представление pg_stats_vacuum_database будет содержать одну строку для каждой базы данных в этом кластере, показывая статистику очистки этой базы данных.

Таблица 52.30. Столбцы pg_stats_vacuum_database

Тип столбца

Описание

dbid oid

OID базы данных

total_blks_read int8

Количество блоков базы данных, прочитанных операциями очистки для этой БД

total_blks_hit int8

Количество попаданий в буферный кеш блоков базы данных в процессе операций очистки, выполненных для этой БД

total_blks_dirtied int8

Количество блоков базы данных, загрязнённых операциями очистки для этой БД

total_blks_written int8

Количество блоков базы данных, записанных операциями очистки для этой БД

wal_records int8

Общее число записей WAL, сгенерированных операциями очистки для этой базы данных

wal_fpi int8

Общее число образов полных страниц в WAL, сгенерированных операциями очистки для этой базы данных

wal_bytes numeric

Общий объём WAL (в байтах), сгенерированный операциями очистки для этой базы данных

blk_read_time float8

Общее время, затраченное на чтение блоков базы данных операциями очистки, выполненными для этой БД, в миллисекундах (если включён параметр track_io_timing, или ноль в противном случае)

blk_write_time float8

Общее время, затраченное на запись блоков базы данных операциями очистки, выполненными для этой БД, в миллисекундах (если включён параметр track_io_timing, или ноль в противном случае)

delay_time float8

Время простоя в точке задержки при выполнении операций очистки для этой базы данных, в миллисекундах (за подробностями обратитесь к Подразделу 18.4.4).

system_time float8

Время использования процессора в режиме ядра при очистке этой базы данных, в миллисекундах

user_time float8

Время использования процессора в пользовательском режиме при очистке этой базы данных, в миллисекундах

total_time float8

Общее время, затраченное на очистку этой базы данных, в миллисекундах

interrupts int4

Сколько раз операции очистки для этой базы данных были прерваны из-за каких-либо ошибок


Примечание

При обновлении сервера путём замены исполняемых файлов обновите представление pg_stats_vacuum_database от имени суперпользователя, запускавшего initdb:

  • Для каждой базы данных, включая template1, но исключая template0, выполните:

    CREATE OR REPLACE VIEW pg_stats_vacuum_database AS
    SELECT
      db.oid as dboid,  stats.db_blks_read,
      stats.db_blks_hit,
      stats.total_blks_dirtied,
      stats.total_blks_written,  stats.wal_records,
      stats.wal_fpi,
      stats.wal_bytes,  stats.blk_read_time,
      stats.blk_write_time,  stats.delay_time,
      stats.system_time,
      stats.user_time,
      stats.total_time,  stats.interrupts
    FROM
      pg_database db LEFT JOIN pg_stats_vacuum_database(db.oid) stats
    ON
      db.oid = stats.dboid;
  • Для базы данных template0 выполните:

    \c template1
    ALTER DATABASE template0 ALLOW_CONNECTIONS on;
    \c template0
    CREATE OR REPLACE VIEW pg_stats_vacuum_database AS
    SELECT
      db.oid as dboid,  stats.db_blks_read,
      stats.db_blks_hit,
      stats.total_blks_dirtied,
      stats.total_blks_written,  stats.wal_records,
      stats.wal_fpi,
      stats.wal_bytes,  stats.blk_read_time,
      stats.blk_write_time,  stats.delay_time,
      stats.system_time,
      stats.user_time,
      stats.total_time,  stats.interrupts
    FROM
      pg_database db LEFT JOIN pg_stats_vacuum_database(db.oid) stats
    ON
      db.oid = stats.dboid;
    \c template1
    ALTER DATABASE template0 ALLOW_CONNECTIONS off;