class="parameter">dbname</replaceable></option></term>
<term><option><optional>--dbname=</optional><replaceable class="parameter">dbname</replaceable></option></term>
<listitem>
<para>
Specifies the name of the database to test in. If this is
not specified, the environment variable
<envar>PGDATABASE</envar> is used. If that is not set, the
user name specified for the connection is used.
</para>
</listitem>
</varlistentry>
<varlistentry id="pgbench-option-initialize">
<term><option>-i</option></term>
<term><option>--initialize</option></term>
<listitem>
<para>
Required to invoke initialization mode.
</para>
</listitem>
</varlistentry>
<varlistentry id="pgbench-option-init-steps">
<term><option>-I <replaceable>init_steps</replaceable></option></term>
<term><option>--init-steps=<replaceable>init_steps</replaceable></option></term>
<listitem>
<para>
Perform just a selected set of the normal initialization steps.
<replaceable>init_steps</replaceable> specifies the
initialization steps to be performed, using one character per step.
Each step is invoked in the specified order.
The default is <literal>dtgvp</literal>.
The available steps are:
<variablelist>
<varlistentry id="pgbench-option-init-steps-d">
<term><literal>d</literal> (Drop)</term>
<listitem>
<para>
Drop any existing <application>pgbench</application> tables.
</para>
</listitem>
</varlistentry>
<varlistentry id="pgbench-option-init-steps-t">
<term><literal>t</literal> (create Tables)</term>
<listitem>
<para>
Create the tables used by the
standard <application>pgbench</application> scenario, namely
<structname>pgbench_accounts</structname>,
<structname>pgbench_branches</structname>,
<structname>pgbench_history</structname>, and
<structname>pgbench_tellers</structname>.
</para>
</listitem>
</varlistentry>
<varlistentry id="pgbench-option-init-steps-g">
<term><literal>g</literal> or <literal>G</literal> (Generate data, client-side or server-side)</term>
<listitem>
<para>
Generate data and load it into the standard tables,
replacing any data already present.
</para>
<para>
With <literal>g</literal> (client-side data generation),
data is generated in <command>pgbench</command> client and then
sent to the server. This uses the client/server bandwidth
extensively through a <command>COPY</command>.
<command>pgbench</command> uses the <option>FREEZE</option> option
to load data into ordinary (non-partition) tables with version 14
or later of <productname>PostgreSQL</productname> to speed up
subsequent <command>VACUUM</command>.
Using <literal>g</literal> causes logging to
print one message every 100,000 rows while generating data for all
tables.
</para>
<para>
With <literal>G</literal> (server-side data generation),
only small queries are sent from the <command>pgbench</command>
client and then data is actually generated in the server.
No significant bandwidth is required for this variant, but
the server will do more work.
Using <literal>G</literal> causes logging not to print any progress
message while generating data.
</para>
<para>
The default initialization behavior uses client-side data
generation (equivalent to <literal>g</literal>).
</para>
</listitem>