mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Remove read/sync fields from pg_stat_wal and GUC track_wal_io_timing
The four following attributes are removed from pg_stat_wal:
* wal_write
* wal_sync
* wal_write_time
* wal_sync_time
a051e71e28
has added an equivalent of this information in pg_stat_io
with more granularity as this now spreads across the backend types, IO
context and IO objects. So, keeping the same information in pg_stat_wal
has little benefits.
Another benefit of this commit is the removal of PendingWalStats,
simplifying an upcoming patch to add per-backend WAL statistics, which
already support IO statistics and which have access to the write/sync
stats data of WAL.
The GUC track_wal_io_timing, that was used to enable or disable the
aggregation of the write and sync timings for WAL, is also removed.
pgstat_prepare_io_time() is simplified.
Bump catalog version.
Bump PGSTAT_FILE_FORMAT_ID, due to the update of PgStat_WalStats.
Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/Z7RkQ0EfYaqqjgz/@ip-10-97-1-34.eu-west-3.compute.internal
This commit is contained in:
@ -8393,28 +8393,6 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="guc-track-wal-io-timing" xreflabel="track_wal_io_timing">
|
||||
<term><varname>track_wal_io_timing</varname> (<type>boolean</type>)
|
||||
<indexterm>
|
||||
<primary><varname>track_wal_io_timing</varname> configuration parameter</primary>
|
||||
</indexterm>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Enables timing of WAL I/O calls. This parameter is off by default,
|
||||
as it will repeatedly query the operating system for the current time,
|
||||
which may cause significant overhead on some platforms.
|
||||
You can use the <application>pg_test_timing</application> tool to
|
||||
measure the overhead of timing on your system.
|
||||
I/O timing information is
|
||||
displayed in <link linkend="monitoring-pg-stat-wal-view">
|
||||
<structname>pg_stat_wal</structname></link>.
|
||||
Only superusers and users with the appropriate <literal>SET</literal>
|
||||
privilege can change this setting.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="guc-track-functions" xreflabel="track_functions">
|
||||
<term><varname>track_functions</varname> (<type>enum</type>)
|
||||
<indexterm>
|
||||
|
@ -183,11 +183,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
||||
of block read, write, extend, and fsync times.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The parameter <xref linkend="guc-track-wal-io-timing"/> enables monitoring
|
||||
of WAL write and fsync times.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Normally these parameters are set in <filename>postgresql.conf</filename> so
|
||||
that they apply to all server processes, but it is possible to turn
|
||||
@ -3265,63 +3260,6 @@ description | Waiting for a newly initialized WAL file to reach durable storage
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="catalog_table_entry"><para role="column_definition">
|
||||
<structfield>wal_write</structfield> <type>bigint</type>
|
||||
</para>
|
||||
<para>
|
||||
Number of times WAL buffers were written out to disk via
|
||||
<function>XLogWrite</function> request.
|
||||
See <xref linkend="wal-configuration"/> for more information about
|
||||
the internal WAL function <function>XLogWrite</function>.
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="catalog_table_entry"><para role="column_definition">
|
||||
<structfield>wal_sync</structfield> <type>bigint</type>
|
||||
</para>
|
||||
<para>
|
||||
Number of times WAL files were synced to disk via
|
||||
<function>issue_xlog_fsync</function> request
|
||||
(if <xref linkend="guc-fsync"/> is <literal>on</literal> and
|
||||
<xref linkend="guc-wal-sync-method"/> is either
|
||||
<literal>fdatasync</literal>, <literal>fsync</literal> or
|
||||
<literal>fsync_writethrough</literal>, otherwise zero).
|
||||
See <xref linkend="wal-configuration"/> for more information about
|
||||
the internal WAL function <function>issue_xlog_fsync</function>.
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="catalog_table_entry"><para role="column_definition">
|
||||
<structfield>wal_write_time</structfield> <type>double precision</type>
|
||||
</para>
|
||||
<para>
|
||||
Total amount of time spent writing WAL buffers to disk via
|
||||
<function>XLogWrite</function> request, in milliseconds
|
||||
(if <xref linkend="guc-track-wal-io-timing"/> is enabled,
|
||||
otherwise zero). This includes the sync time when
|
||||
<varname>wal_sync_method</varname> is either
|
||||
<literal>open_datasync</literal> or <literal>open_sync</literal>.
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="catalog_table_entry"><para role="column_definition">
|
||||
<structfield>wal_sync_time</structfield> <type>double precision</type>
|
||||
</para>
|
||||
<para>
|
||||
Total amount of time spent syncing WAL files to disk via
|
||||
<function>issue_xlog_fsync</function> request, in milliseconds
|
||||
(if <varname>track_wal_io_timing</varname> is enabled,
|
||||
<varname>fsync</varname> is <literal>on</literal>, and
|
||||
<varname>wal_sync_method</varname> is either
|
||||
<literal>fdatasync</literal>, <literal>fsync</literal> or
|
||||
<literal>fsync_writethrough</literal>, otherwise zero).
|
||||
</para></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry role="catalog_table_entry"><para role="column_definition">
|
||||
<structfield>stats_reset</structfield> <type>timestamp with time zone</type>
|
||||
|
Reference in New Issue
Block a user