Commit 8ad8d916 authored by Peter Eisentraut's avatar Peter Eisentraut

initdb: Further polishing of --wal-segsize option

Extend documentation.  Improve option parsing in case no argument was
specified.
parent 3a2cb598
......@@ -316,16 +316,22 @@ PostgreSQL documentation
</varlistentry>
<varlistentry>
<term><option>--wal-segsize=<replaceable>SEGSIZE</replaceable></option></term>
<term><option>--wal-segsize=<replaceable>size</replaceable></option></term>
<listitem>
<para>
Set the <firstterm>WAL segment size</firstterm>, in megabytes. This is
the size of each individual file in the WAL log. It may be useful
to adjust this size to control the granularity of WAL log shipping.
This option can only be set during initialization, and cannot be
changed later.
The default size is 16 megabytes.
The value must be a power of 2 between 1 and 1024 (megabytes).
Set the <firstterm>WAL segment size</firstterm>, in megabytes. This
is the size of each individual file in the WAL log. The default size
is 16 megabytes. The value must be a power of 2 between 1 and 1024
(megabytes). This option can only be set during initialization, and
cannot be changed later.
</para>
<para>
It may be useful to adjust this size to control the granularity of
WAL log shipping or archiving. Also, in databases with a high volume
of WAL, the sheer number of WAL files per directory can become a
performance and management problem. Increasing the WAL file size
will reduce the number of WAL files.
</para>
</listitem>
</varlistentry>
......
......@@ -3224,7 +3224,7 @@ main(int argc, char *argv[])
wal_segment_size_mb = strtol(str_wal_segment_size_mb, &endptr, 10);
/* verify that wal segment size is valid */
if (*endptr != '\0')
if (endptr == str_wal_segment_size_mb || *endptr != '\0')
{
fprintf(stderr,
_("%s: argument of --wal-segsize must be a number\n"),
......@@ -3234,7 +3234,7 @@ main(int argc, char *argv[])
if (!IsValidWalSegSize(wal_segment_size_mb * 1024 * 1024))
{
fprintf(stderr,
_("%s: argument of --wal-segsize must be a power of two between 1 and 1024\n"),
_("%s: argument of --wal-segsize must be a power of 2 between 1 and 1024\n"),
progname);
exit(1);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment