Wrong docs on checkpoint_segments?

From: Florian Weimer <fweimer(at)bfk(dot)de>
To: pgsql-performance(at)postgresql(dot)org
Subject: Wrong docs on checkpoint_segments?
Date: 2011-01-07 12:45:25
Message-ID: 82aajcg9wa.fsf@mid.bfk.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 9.0, this configuration

checkpoint_segments = 512 # in logfile segments, min 1, 16MB each

results in 1034 segments, so the effective logfile segment size is 32 MB.

The documentation says this:

Maximum number of log file segments between automatic WAL
checkpoints (each segment is normally 16 megabytes). The default
is three segments. Increasing this parameter can increase the
amount of time needed for crash recovery. This parameter can only
be set in the postgresql.conf file or on the server command line.

It would probably make sense to change this to

checkpoint_segments = 3 # each one effectively needs about 32MB on disk

and:

Number of log file segments between automatic WAL checkpoints. The
default is three segments. Increasing this parameter can increase
the amount of time needed for crash recovery. This parameter can
only be set in the postgresql.conf file or on the server command
line.

Each segment normally requires 16 megabytes on disk. Segments can
only be recycled after a checkpoint has completed, so disk space
is required for twice the number of configured segments, plus some
reserve.

Perhaps it would also make sense to mention that increasing the
segment count decreases WAL traffic, and that changing this value does
not have an impact on transaction sizes?

--
Florian Weimer <fweimer(at)bfk(dot)de>
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Andres Freund 2011-01-07 13:39:31 Re: Wrong docs on checkpoint_segments?
Previous Message Γιωργος Βαλκανας 2011-01-07 09:29:32 Re: "SELECT .. WHERE NOT IN" query running for hours