diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 0c3e076..1bea0d9 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1842,10 +1842,10 @@ SET ENABLE_SEQSCAN TO OFF; - - standby_keep_segments (integer) + + wal_keep_segments (integer) - standby_keep_segments configuration parameter + wal_keep_segments configuration parameter @@ -1853,17 +1853,17 @@ SET ENABLE_SEQSCAN TO OFF; directory, in case a standby server needs to fetch them via streaming replication. Each segment is normally 16 megabytes. If a standby server connected to the primary falls behind more than - standby_keep_segments segments, the primary might remove + wal_keep_segments segments, the primary might remove a WAL segment still needed by the standby and the replication connection will be terminated. This sets only the minimum number of segments retained for standby - purposes, the system might need to retain more segments for WAL - archival or to recover from a checkpoint. If standby_keep_segments + purposes; the system might need to retain more segments for WAL + archival or to recover from a checkpoint. If wal_keep_segments is zero (the default), the system doesn't keep any extra segments for standby purposes, and the number of old WAL segments available for standbys is determined based only on the location of the previous - checkpoint and status of WAL archival. + checkpoint and status of WAL archiving. This parameter can only be set in the postgresql.conf file or on the server command line. diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 9c45d7b..ce62a6b 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -737,7 +737,7 @@ trigger_file = '/path/to/trigger_file' falls behind too much, the primary will delete old WAL files still needed by the standby, and the standby will have to be manually restored from a base backup. You can control how long the primary retains old WAL - segments using the standby_keep_segments setting. + segments using the wal_keep_segments setting. diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 9b81cfa..7647f4e 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -66,7 +66,7 @@ /* User-settable parameters */ int CheckPointSegments = 3; -int StandbySegments = 0; +int wal_keep_segments = 0; int XLOGbuffers = 8; int XLogArchiveTimeout = 0; bool XLogArchiveMode = false; @@ -7285,10 +7285,10 @@ CreateCheckPoint(int flags) { /* * Calculate the last segment that we need to retain because of - * standby_keep_segments, by subtracting StandbySegments from the + * wal_keep_segments, by subtracting wal_keep_segments from the * new checkpoint location. */ - if (StandbySegments > 0) + if (wal_keep_segments > 0) { uint32 log; uint32 seg; @@ -7297,8 +7297,8 @@ CreateCheckPoint(int flags) XLByteToSeg(recptr, log, seg); - d_seg = StandbySegments % XLogSegsPerFile; - d_log = StandbySegments / XLogSegsPerFile; + d_seg = wal_keep_segments % XLogSegsPerFile; + d_log = wal_keep_segments / XLogSegsPerFile; if (seg < d_seg) { d_log += 1; diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index c9d934f..c8e768e 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1656,11 +1656,11 @@ static struct config_int ConfigureNamesInt[] = }, { - {"standby_keep_segments", PGC_SIGHUP, WAL_CHECKPOINTS, + {"wal_keep_segments", PGC_SIGHUP, WAL_CHECKPOINTS, gettext_noop("Sets the number of WAL files held for standby servers"), NULL }, - &StandbySegments, + &wal_keep_segments, 0, 0, INT_MAX, NULL, NULL }, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index c3f985a..92763eb 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -193,7 +193,7 @@ #max_wal_senders = 0 # max number of walsender processes #wal_sender_delay = 200ms # 1-10000 milliseconds -#standby_keep_segments = 0 # in logfile segments, 16MB each; 0 disables +#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables #------------------------------------------------------------------------------ diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index 0295a61..6bfc7d5 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -187,7 +187,7 @@ extern XLogRecPtr XactLastRecEnd; /* these variables are GUC parameters related to XLOG */ extern int CheckPointSegments; -extern int StandbySegments; +extern int wal_keep_segments; extern int XLOGbuffers; extern bool XLogArchiveMode; extern char *XLogArchiveCommand;