</varlistentry>
<varlistentry>
- <term><option>--no-slot</option></term>
+ <term><option>--manifest-checksums=<replaceable class="parameter">algorithm</replaceable></option></term>
<listitem>
<para>
- This option prevents the creation of a temporary replication slot
- during the backup even if it's supported by the server.
+ Specifies the checksum algorithm that should be applied to each file
+ included in the backup manifest. Currently, the available
+ algorithms are <literal>NONE</literal>, <literal>CRC32C</literal>,
+ <literal>SHA224</literal>, <literal>SHA256</literal>,
+ <literal>SHA384</literal>, and <literal>SHA512</literal>.
+ The default is <literal>CRC32C</literal>.
</para>
<para>
- Temporary replication slots are created by default if no slot name
- is given with the option <option>-S</option> when using log streaming.
+ If <literal>NONE</literal> is selected, the backup manifest will
+ not contain any checksums. Otherwise, it will contain a checksum
+ of each file in the backup using the specified algorithm. In addition,
+ the manifest will always contain a <literal>SHA256</literal>
+ checksum of its own contents. The <literal>SHA</literal> algorithms
+ are significantly more CPU-intensive than <literal>CRC32C</literal>,
+ so selecting one of them may increase the time required to complete
+ the backup.
</para>
<para>
- The main purpose of this option is to allow taking a base backup when
- the server is out of free replication slots. Using replication slots
- is almost always preferred, because it prevents needed WAL from being
- removed by the server during the backup.
+ Using a SHA hash function provides a cryptographically secure digest
+ of each file for users who wish to verify that the backup has not been
+ tampered with, while the CRC32C algorithm provides a checksum which is
+ much faster to calculate and good at catching errors due to accidental
+ changes but is not resistant to targeted modifications. Note that, to
+ be useful against an adversary who has access to the backup, the backup
+ manifest would need to be stored securely elsewhere or otherwise
+ verified not to have been modified since the backup was taken.
+ </para>
+ <para>
+ <xref linkend="app-pgverifybackup" /> can be used to check the
+ integrity of a backup against the backup manifest.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--no-verify-checksums</option></term>
+ <term><option>--manifest-force-encode</option></term>
<listitem>
<para>
- Disables verification of checksums, if they are enabled on the server
- the base backup is taken from.
- </para>
- <para>
- By default, checksums are verified and checksum failures will result
- in a non-zero exit status. However, the base backup will not be
- removed in such a case, as if the <option>--no-clean</option> option
- had been used. Checksum verifications failures will also be reported
- in the <link linkend="monitoring-pg-stat-database-view">
- <structname>pg_stat_database</structname></link> view.
+ Forces all filenames in the backup manifest to be hex-encoded.
+ If this option is not specified, only non-UTF8 filenames are
+ hex-encoded. This option is mostly intended to test that tools which
+ read a backup manifest file properly handle this case.
</para>
</listitem>
</varlistentry>
</varlistentry>
<varlistentry>
- <term><option>--manifest-force-encode</option></term>
+ <term><option>--no-slot</option></term>
<listitem>
<para>
- Forces all filenames in the backup manifest to be hex-encoded.
- If this option is not specified, only non-UTF8 filenames are
- hex-encoded. This option is mostly intended to test that tools which
- read a backup manifest file properly handle this case.
+ This option prevents the creation of a temporary replication slot
+ during the backup even if it's supported by the server.
+ </para>
+ <para>
+ Temporary replication slots are created by default if no slot name
+ is given with the option <option>-S</option> when using log streaming.
+ </para>
+ <para>
+ The main purpose of this option is to allow taking a base backup when
+ the server is out of free replication slots. Using replication slots
+ is almost always preferred, because it prevents needed WAL from being
+ removed by the server during the backup.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--manifest-checksums=<replaceable class="parameter">algorithm</replaceable></option></term>
+ <term><option>--no-verify-checksums</option></term>
<listitem>
<para>
- Specifies the checksum algorithm that should be applied to each file
- included in the backup manifest. Currently, the available
- algorithms are <literal>NONE</literal>, <literal>CRC32C</literal>,
- <literal>SHA224</literal>, <literal>SHA256</literal>,
- <literal>SHA384</literal>, and <literal>SHA512</literal>.
- The default is <literal>CRC32C</literal>.
- </para>
- <para>
- If <literal>NONE</literal> is selected, the backup manifest will
- not contain any checksums. Otherwise, it will contain a checksum
- of each file in the backup using the specified algorithm. In addition,
- the manifest will always contain a <literal>SHA256</literal>
- checksum of its own contents. The <literal>SHA</literal> algorithms
- are significantly more CPU-intensive than <literal>CRC32C</literal>,
- so selecting one of them may increase the time required to complete
- the backup.
- </para>
- <para>
- Using a SHA hash function provides a cryptographically secure digest
- of each file for users who wish to verify that the backup has not been
- tampered with, while the CRC32C algorithm provides a checksum which is
- much faster to calculate and good at catching errors due to accidental
- changes but is not resistant to targeted modifications. Note that, to
- be useful against an adversary who has access to the backup, the backup
- manifest would need to be stored securely elsewhere or otherwise
- verified not to have been modified since the backup was taken.
+ Disables verification of checksums, if they are enabled on the server
+ the base backup is taken from.
</para>
<para>
- <xref linkend="app-pgverifybackup" /> can be used to check the
- integrity of a backup against the backup manifest.
+ By default, checksums are verified and checksum failures will result
+ in a non-zero exit status. However, the base backup will not be
+ removed in such a case, as if the <option>--no-clean</option> option
+ had been used. Checksum verifications failures will also be reported
+ in the <link linkend="monitoring-pg-stat-database-view">
+ <structname>pg_stat_database</structname></link> view.
</para>
</listitem>
</varlistentry>
</listitem>
</varlistentry>
- <varlistentry>
- <term><option>--no-ensure-shutdown</option></term>
- <listitem>
- <para>
- <application>pg_rewind</application> requires that the target server
- is cleanly shut down before rewinding. By default, if the target server
- is not shut down cleanly, <application>pg_rewind</application> starts
- the target server in single-user mode to complete crash recovery first,
- and stops it.
- By passing this option, <application>pg_rewind</application> skips
- this and errors out immediately if the server is not cleanly shut
- down. Users are expected to handle the situation themselves in that
- case.
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><option>-R</option></term>
<term><option>--write-recovery-conf</option></term>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--no-ensure-shutdown</option></term>
+ <listitem>
+ <para>
+ <application>pg_rewind</application> requires that the target server
+ is cleanly shut down before rewinding. By default, if the target server
+ is not shut down cleanly, <application>pg_rewind</application> starts
+ the target server in single-user mode to complete crash recovery first,
+ and stops it.
+ By passing this option, <application>pg_rewind</application> skips
+ this and errors out immediately if the server is not cleanly shut
+ down. Users are expected to handle the situation themselves in that
+ case.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>-V</option></term>
<term><option>--version</option></term>
</varlistentry>
<varlistentry>
- <term><option>--partitions=<replaceable>NUM</replaceable></option></term>
+ <term><option>--partition-method=<replaceable>NAME</replaceable></option></term>
<listitem>
<para>
Create a partitioned <literal>pgbench_accounts</literal> table with
- <replaceable>NUM</replaceable> partitions of nearly equal size for
- the scaled number of accounts.
- Default is <literal>0</literal>, meaning no partitioning.
+ <replaceable>NAME</replaceable> method.
+ Expected values are <literal>range</literal> or <literal>hash</literal>.
+ This option requires that <option>--partitions</option> is set to non-zero.
+ If unspecified, default is <literal>range</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><option>--partition-method=<replaceable>NAME</replaceable></option></term>
+ <term><option>--partitions=<replaceable>NUM</replaceable></option></term>
<listitem>
<para>
Create a partitioned <literal>pgbench_accounts</literal> table with
- <replaceable>NAME</replaceable> method.
- Expected values are <literal>range</literal> or <literal>hash</literal>.
- This option requires that <option>--partitions</option> is set to non-zero.
- If unspecified, default is <literal>range</literal>.
+ <replaceable>NUM</replaceable> partitions of nearly equal size for
+ the scaled number of accounts.
+ Default is <literal>0</literal>, meaning no partitioning.
</para>
</listitem>
</varlistentry>
</listitem>
</varlistentry>
- <varlistentry>
- <term><option>--show-script</option><replaceable>scriptname</replaceable></term>
- <listitem>
- <para>
- Show the actual code of builtin script <replaceable>scriptname</replaceable>
- on stderr, and exit immediately.
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><option>-t</option> <replaceable>transactions</replaceable></term>
<term><option>--transactions=</option><replaceable>transactions</replaceable></term>
</varlistentry>
<varlistentry>
- <term><option>--random-seed=</option><replaceable>SEED</replaceable></term>
+ <term><option>--random-seed=</option><replaceable>seed</replaceable></term>
<listitem>
<para>
Set random generator seed. Seeds the system random number generator,
which then produces a sequence of initial generator states, one for
each thread.
- Values for <replaceable>SEED</replaceable> may be:
+ Values for <replaceable>seed</replaceable> may be:
<literal>time</literal> (the default, the seed is based on the current time),
<literal>rand</literal> (use a strong random source, failing if none
is available), or an unsigned decimal integer value.
(<literal>random...</literal> functions) or implicitly (for instance option
<option>--rate</option> uses it to schedule transactions).
When explicitly set, the value used for seeding is shown on the terminal.
- Any value allowed for <replaceable>SEED</replaceable> may also be
+ Any value allowed for <replaceable>seed</replaceable> may also be
provided through the environment variable
<literal>PGBENCH_RANDOM_SEED</literal>.
To ensure that the provided seed impacts all possible uses, put this option
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--show-script=</option><replaceable>scriptname</replaceable></term>
+ <listitem>
+ <para>
+ Show the actual code of builtin script <replaceable>scriptname</replaceable>
+ on stderr, and exit immediately.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</para>