1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-09 06:21:09 +03:00

Expose wal_fpi_bytes in EXPLAIN (WAL)

The new wal_fpi_bytes counter calculates the total amount of full page
images inserted in WAL records, in bytes.  This commit exposes this
information in EXPLAIN (ANALYZE, WAL) alongside the existing counters,
for both the text and JSON/YAML outputs, building upon f9a09aa295.

Author: Shinya Kato <shinya11.kato@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discusssion: https://postgr.es/m/CAOzEurQtZEAfg6P0kU3Wa-f9BWQOi0RzJEMPN56wNTOmJLmfaQ@mail.gmail.com
This commit is contained in:
Michael Paquier
2025-10-30 15:34:01 +09:00
parent d432094689
commit 5ab0b6a248
2 changed files with 9 additions and 2 deletions

View File

@@ -4283,7 +4283,8 @@ show_wal_usage(ExplainState *es, const WalUsage *usage)
{
/* Show only positive counter values. */
if ((usage->wal_records > 0) || (usage->wal_fpi > 0) ||
(usage->wal_bytes > 0) || (usage->wal_buffers_full > 0))
(usage->wal_bytes > 0) || (usage->wal_buffers_full > 0) ||
(usage->wal_fpi_bytes > 0))
{
ExplainIndentText(es);
appendStringInfoString(es->str, "WAL:");
@@ -4297,6 +4298,9 @@ show_wal_usage(ExplainState *es, const WalUsage *usage)
if (usage->wal_bytes > 0)
appendStringInfo(es->str, " bytes=%" PRIu64,
usage->wal_bytes);
if (usage->wal_fpi_bytes > 0)
appendStringInfo(es->str, " fpi bytes=%" PRIu64,
usage->wal_fpi_bytes);
if (usage->wal_buffers_full > 0)
appendStringInfo(es->str, " buffers full=%" PRId64,
usage->wal_buffers_full);
@@ -4311,6 +4315,8 @@ show_wal_usage(ExplainState *es, const WalUsage *usage)
usage->wal_fpi, es);
ExplainPropertyUInteger("WAL Bytes", NULL,
usage->wal_bytes, es);
ExplainPropertyUInteger("WAL FPI Bytes", NULL,
usage->wal_fpi_bytes, es);
ExplainPropertyInteger("WAL Buffers Full", NULL,
usage->wal_buffers_full, es);
}