diff options
author | Robert Haas <rhaas@postgresql.org> | 2024-01-11 12:47:28 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2024-01-11 12:48:27 -0500 |
commit | ee1bfd168390bc843c6704d16e909692c0a79f27 (patch) | |
tree | 88e263fab46e17acca8d2b17fefeaa8dfee84050 /doc/src | |
parent | d9ef650fca7bc574586f4171cd929cfd5240326e (diff) | |
download | postgresql-ee1bfd168390bc843c6704d16e909692c0a79f27.tar.gz postgresql-ee1bfd168390bc843c6704d16e909692c0a79f27.zip |
Add new pg_walsummary tool.
This can dump the contents of the WAL summary files found in
pg_wal/summaries. Normally, this shouldn't really be something anyone
needs to do, but it may be needed for debugging problems with
incremental backup, or could possibly be useful to external tools.
Discussion: http://postgr.es/m/CA+Tgmobvqqj-DW9F7uUzT-cQqs6wcVb-Xhs=w=hzJnXSE-kRGw@mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/ref/allfiles.sgml | 1 | ||||
-rw-r--r-- | doc/src/sgml/ref/pg_walsummary.sgml | 122 | ||||
-rw-r--r-- | doc/src/sgml/reference.sgml | 1 |
3 files changed, 124 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/allfiles.sgml b/doc/src/sgml/ref/allfiles.sgml index fda4690eab5..4a42999b183 100644 --- a/doc/src/sgml/ref/allfiles.sgml +++ b/doc/src/sgml/ref/allfiles.sgml @@ -219,6 +219,7 @@ Complete list of usable sgml source files in this directory. <!ENTITY pgtesttiming SYSTEM "pgtesttiming.sgml"> <!ENTITY pgupgrade SYSTEM "pgupgrade.sgml"> <!ENTITY pgwaldump SYSTEM "pg_waldump.sgml"> +<!ENTITY pgwalsummary SYSTEM "pg_walsummary.sgml"> <!ENTITY postgres SYSTEM "postgres-ref.sgml"> <!ENTITY psqlRef SYSTEM "psql-ref.sgml"> <!ENTITY reindexdb SYSTEM "reindexdb.sgml"> diff --git a/doc/src/sgml/ref/pg_walsummary.sgml b/doc/src/sgml/ref/pg_walsummary.sgml new file mode 100644 index 00000000000..93e265ead73 --- /dev/null +++ b/doc/src/sgml/ref/pg_walsummary.sgml @@ -0,0 +1,122 @@ +<!-- +doc/src/sgml/ref/pg_walsummary.sgml +PostgreSQL documentation +--> + +<refentry id="app-pgwalsummary"> + <indexterm zone="app-pgwalsummary"> + <primary>pg_walsummary</primary> + </indexterm> + + <refmeta> + <refentrytitle><application>pg_walsummary</application></refentrytitle> + <manvolnum>1</manvolnum> + <refmiscinfo>Application</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>pg_walsummary</refname> + <refpurpose>print contents of WAL summary files</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <cmdsynopsis> + <command>pg_walsummary</command> + <arg rep="repeat" choice="opt"><replaceable>option</replaceable></arg> + <arg rep="repeat"><replaceable>file</replaceable></arg> + </cmdsynopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + <para> + <application>pg_walsummary</application> is used to print the contents of + WAL summary files. These binary files are found with the + <literal>pg_wal/summaries</literal> subdirectory of the data directory, + and can be converted to text using this tool. This is not ordinarily + necessary, since WAL summary files primarily exist to support + <link linkend="backup-incremental-backup">incremental backup</link>, + but it may be useful for debugging purposes. + </para> + + <para> + A WAL summary file is indexed by tablespace OID, relation OID, and relation + fork. For each relation fork, it stores the list of blocks that were + modified by WAL within the range summarized in the file. It can also + store a "limit block," which is 0 if the relation fork was created or + truncated within the relevant WAL range, and otherwise the shortest length + to which the relation fork was truncated. If the relation fork was not + created, deleted, or truncated within the relevant WAL range, the limit + block is undefined or infinite and will not be printed by this tool. + </para> + </refsect1> + + <refsect1> + <title>Options</title> + + <para> + <variablelist> + <varlistentry> + <term><option>-i</option></term> + <term><option>--indivudual</option></term> + <listitem> + <para> + By default, <literal>pg_walsummary</literal> prints one line of output + for each range of one or more consecutive modified blocks. This can + make the output a lot briefer, since a relation where all blocks from + 0 through 999 were modified will produce only one line of output rather + than 1000 separate lines. This option requests a separate line of + output for every modified block. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-q</option></term> + <term><option>--quiet</option></term> + <listitem> + <para> + Do not print any output, except for errors. This can be useful + when you want to know whether a WAL summary file can be successfully + parsed but don't care about the contents. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><option>-?</option></term> + <term><option>--help</option></term> + <listitem> + <para> + Shows help about <application>pg_walsummary</application> command line + arguments, and exits. + </para> + </listitem> + </varlistentry> + + </variablelist> + </para> + + </refsect1> + + <refsect1> + <title>Environment</title> + + <para> + The environment variable <envar>PG_COLOR</envar> specifies whether to use + color in diagnostic messages. Possible values are + <literal>always</literal>, <literal>auto</literal> and + <literal>never</literal>. + </para> + </refsect1> + + <refsect1> + <title>See Also</title> + + <simplelist type="inline"> + <member><xref linkend="app-pgbasebackup"/></member> + <member><xref linkend="app-pgcombinebackup"/></member> + </simplelist> + </refsect1> + +</refentry> diff --git a/doc/src/sgml/reference.sgml b/doc/src/sgml/reference.sgml index a07d2b5e01e..aa94f6adf6a 100644 --- a/doc/src/sgml/reference.sgml +++ b/doc/src/sgml/reference.sgml @@ -289,6 +289,7 @@ &pgtesttiming; &pgupgrade; &pgwaldump; + &pgwalsummary; &postgres; </reference> |