Add wal_fpi_bytes to pg_stat_wal and pg_stat_get_backend_wal() This new counter, called "wal_fpi_bytes", tracks the total amount in bytes of full page images (FPIs) generated in WAL. This data becomes available globally via pg_stat_wal, and for backend statistics via pg_stat_get_backend_wal().
Previously, this information could only be retrieved with pg_waldump or pg_walinspect, which may not be available depending on the environment, and are expensive to execute. It offers hints about how much FPIs impact the WAL generated, which could be a large percentage for some workloads, as well as the effects of wal_compression or page holes. Bump catalog version. Bump PGSTAT_FILE_FORMAT_ID, due to the addition of wal_fpi_bytes in PgStat_WalCounters. Author: Shinya Kato <[email protected]> Reviewed-by: Michael Paquier <[email protected]> Discussion: https://postgr.es/m/caozeurqtzeafg6p0ku3wa-f9bwqoi0rzjempn56wntomjlm...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/f9a09aa2952039a9956b44d929b9df74d62a4cd4 Modified Files -------------- doc/src/sgml/monitoring.sgml | 9 +++++++++ src/backend/access/transam/xloginsert.c | 6 ++++++ src/backend/catalog/system_views.sql | 1 + src/backend/executor/instrument.c | 2 ++ src/backend/utils/activity/pgstat_backend.c | 1 + src/backend/utils/activity/pgstat_wal.c | 1 + src/backend/utils/adt/pgstatfuncs.c | 20 ++++++++++++++------ src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_proc.dat | 12 ++++++------ src/include/executor/instrument.h | 1 + src/include/pgstat.h | 3 ++- src/test/regress/expected/rules.out | 3 ++- 12 files changed, 46 insertions(+), 15 deletions(-)
