Thanks a lot.

On Wed 11 Apr, 2018, 9:07 AM Michael Paquier, <mich...@paquier.xyz> wrote:

> On Tue, Apr 10, 2018 at 11:06:54PM +0530, Raghavendra Rao J S V wrote:
> > I am not clear the difference between checkpoint_segments and
> > wal_keep_segments .
> >
> > I would like to now below things. Please explain.Thanks in advance.
> >
> >    - Difference  between *checkpoint_segments *and *wal_keep_segments *
> >    value
> >    - Role  of  *checkpoint_segments *and *wal_keep_segments *
> >    - Which one should has higher value.
>
> Documentation is king here.  For checkpoint_segments:
>
> https://www.postgresql.org/docs/9.4/static/runtime-config-wal.html#RUNTIME-CONFIG-WAL-CHECKPOINTS
>
>   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.
>
> For wal_keep_segments:
>
> https://www.postgresql.org/docs/9.4/static/runtime-config-replication.html#RUNTIME-CONFIG-REPLICATION-SENDER
>
>   Specifies the minimum number of past log file segments kept in the
>   pg_xlog directory, in case a standby server needs to fetch them for
>   streaming replication. Each segment is normally 16 megabytes. If a
>   standby server connected to the sending server falls behind by more than
>   wal_keep_segments segments, the sending server might remove a WAL
>   segment still needed by the standby, in which case the replication
>   connection will be terminated. Downstream connections will also
>   eventually fail as a result. (However, the standby server can recover by
>   fetching the segment from archive, if WAL archiving is in use.)
>
> Mentioning checkpoint_segments implies that you are using PostgreSQL 9.4
> or older versions as this has been removed and replaced by max_wal_size
> in 9.5.  You should consider upgrading to a newer version.
>
> Hence the first is used in the context of normal operations to decide
> the frequency of checkpoints when those are triggered by volume.  The
> second can be used with streaming replication to give a standby a higher
> catchup window.  Giving value to one or the other depends on the
> context, and both are usable in completely different circumstances.
> --
> Michael
>

Reply via email to