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:
@@ -241,7 +241,8 @@ ROLLBACK;
|
||||
<para>
|
||||
Include information on WAL record generation. Specifically, include the
|
||||
number of records, number of full page images (fpi), the amount of WAL
|
||||
generated in bytes and the number of times the WAL buffers became full.
|
||||
generated in bytes, the amount of full page images generated in bytes,
|
||||
and the number of times the WAL buffers became full.
|
||||
In text format, only non-zero values are printed.
|
||||
This parameter may only be used when <literal>ANALYZE</literal> is also
|
||||
enabled. It defaults to <literal>FALSE</literal>.
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user