Commit 8f91d87d authored by Andres Freund's avatar Andres Freund

Fix documentation & config inconsistencies around 428b1d6b.

Several issues:
1) checkpoint_flush_after doc and code disagreed about the default
2) new GUCs were missing from postgresql.conf.sample
3) Outdated source-code comment about bgwriter_flush_after's default
4) Sub-optimal categories assigned to new GUCs
5) Docs suggested backend_flush_after is PGC_SIGHUP, but it's PGC_USERSET.
6) Spell out int as integer in the docs, as done elsewhere

Reported-By: Magnus Hagander, Fujii Masao
Discussion: CAHGQGwETyTG5VYQQ5C_srwxWX7RXvFcD3dKROhvAWWhoSBdmZw@mail.gmail.com
parent 0ab3595e
...@@ -1884,7 +1884,7 @@ include_dir 'conf.d' ...@@ -1884,7 +1884,7 @@ include_dir 'conf.d'
</varlistentry> </varlistentry>
<varlistentry id="guc-bgwriter-flush-after" xreflabel="bgwriter_flush_after"> <varlistentry id="guc-bgwriter-flush-after" xreflabel="bgwriter_flush_after">
<term><varname>bgwriter_flush_after</varname> (<type>int</type>) <term><varname>bgwriter_flush_after</varname> (<type>integer</type>)
<indexterm> <indexterm>
<primary><varname>bgwriter_flush_after</> configuration parameter</primary> <primary><varname>bgwriter_flush_after</> configuration parameter</primary>
</indexterm> </indexterm>
...@@ -2014,7 +2014,7 @@ include_dir 'conf.d' ...@@ -2014,7 +2014,7 @@ include_dir 'conf.d'
</varlistentry> </varlistentry>
<varlistentry id="guc-backend-flush-after" xreflabel="backend_flush_after"> <varlistentry id="guc-backend-flush-after" xreflabel="backend_flush_after">
<term><varname>backend_flush_after</varname> (<type>int</type>) <term><varname>backend_flush_after</varname> (<type>integer</type>)
<indexterm> <indexterm>
<primary><varname>backend_flush_after</> configuration parameter</primary> <primary><varname>backend_flush_after</> configuration parameter</primary>
</indexterm> </indexterm>
...@@ -2036,8 +2036,6 @@ include_dir 'conf.d' ...@@ -2036,8 +2036,6 @@ include_dir 'conf.d'
and <literal>2MB</literal>. The default is <literal>128Kb</> on and <literal>2MB</literal>. The default is <literal>128Kb</> on
Linux, <literal>0</> elsewhere. (Non-default values of Linux, <literal>0</> elsewhere. (Non-default values of
<symbol>BLCKSZ</symbol> change the default and maximum.) <symbol>BLCKSZ</symbol> change the default and maximum.)
This parameter can only be set in the <filename>postgresql.conf</>
file or on the server command line.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
...@@ -2607,7 +2605,7 @@ include_dir 'conf.d' ...@@ -2607,7 +2605,7 @@ include_dir 'conf.d'
</varlistentry> </varlistentry>
<varlistentry id="guc-checkpoint-flush-after" xreflabel="checkpoint_flush_after"> <varlistentry id="guc-checkpoint-flush-after" xreflabel="checkpoint_flush_after">
<term><varname>checkpoint_flush_after</varname> (<type>int</type>) <term><varname>checkpoint_flush_after</varname> (<type>integer</type>)
<indexterm> <indexterm>
<primary><varname>checkpoint_flush_after</> configuration parameter</primary> <primary><varname>checkpoint_flush_after</> configuration parameter</primary>
</indexterm> </indexterm>
...@@ -2626,7 +2624,7 @@ include_dir 'conf.d' ...@@ -2626,7 +2624,7 @@ include_dir 'conf.d'
than the OS's page cache, where performance might degrade. This than the OS's page cache, where performance might degrade. This
setting may have no effect on some platforms. The valid range is setting may have no effect on some platforms. The valid range is
between <literal>0</literal>, which disables controlled writeback, between <literal>0</literal>, which disables controlled writeback,
and <literal>2MB</literal>. The default is <literal>128Kb</> on and <literal>2MB</literal>. The default is <literal>256Kb</> on
Linux, <literal>0</> elsewhere. (Non-default values of Linux, <literal>0</> elsewhere. (Non-default values of
<symbol>BLCKSZ</symbol> change the default and maximum.) <symbol>BLCKSZ</symbol> change the default and maximum.)
This parameter can only be set in the <filename>postgresql.conf</> This parameter can only be set in the <filename>postgresql.conf</>
......
...@@ -2273,6 +2273,18 @@ static struct config_int ConfigureNamesInt[] = ...@@ -2273,6 +2273,18 @@ static struct config_int ConfigureNamesInt[] =
NULL, NULL, NULL NULL, NULL, NULL
}, },
{
{"checkpoint_flush_after", PGC_SIGHUP, WAL_CHECKPOINTS,
gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
NULL,
GUC_UNIT_BLOCKS
},
&checkpoint_flush_after,
/* see bufmgr.h: OS dependent default */
DEFAULT_CHECKPOINT_FLUSH_AFTER, 0, WRITEBACK_MAX_PENDING_FLUSHES,
NULL, NULL, NULL
},
{ {
{"wal_buffers", PGC_POSTMASTER, WAL_SETTINGS, {"wal_buffers", PGC_POSTMASTER, WAL_SETTINGS,
gettext_noop("Sets the number of disk-page buffers in shared memory for WAL."), gettext_noop("Sets the number of disk-page buffers in shared memory for WAL."),
...@@ -2419,6 +2431,18 @@ static struct config_int ConfigureNamesInt[] = ...@@ -2419,6 +2431,18 @@ static struct config_int ConfigureNamesInt[] =
NULL, NULL, NULL NULL, NULL, NULL
}, },
{
{"bgwriter_flush_after", PGC_SIGHUP, RESOURCES_BGWRITER,
gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
NULL,
GUC_UNIT_BLOCKS
},
&bgwriter_flush_after,
/* see bufmgr.h: OS dependent default */
DEFAULT_BGWRITER_FLUSH_AFTER, 0, WRITEBACK_MAX_PENDING_FLUSHES,
NULL, NULL, NULL
},
{ {
{"effective_io_concurrency", {"effective_io_concurrency",
PGC_USERSET, PGC_USERSET,
...@@ -2436,19 +2460,7 @@ static struct config_int ConfigureNamesInt[] = ...@@ -2436,19 +2460,7 @@ static struct config_int ConfigureNamesInt[] =
}, },
{ {
{"checkpoint_flush_after", PGC_SIGHUP, RESOURCES_ASYNCHRONOUS, {"backend_flush_after", PGC_USERSET, RESOURCES_ASYNCHRONOUS,
gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
NULL,
GUC_UNIT_BLOCKS
},
&checkpoint_flush_after,
/* see bufmgr.h: OS dependent default */
DEFAULT_CHECKPOINT_FLUSH_AFTER, 0, WRITEBACK_MAX_PENDING_FLUSHES,
NULL, NULL, NULL
},
{
{"backend_flush_after", PGC_USERSET, WAL_CHECKPOINTS,
gettext_noop("Number of pages after which previously performed writes are flushed to disk."), gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
NULL, NULL,
GUC_UNIT_BLOCKS GUC_UNIT_BLOCKS
...@@ -2459,18 +2471,6 @@ static struct config_int ConfigureNamesInt[] = ...@@ -2459,18 +2471,6 @@ static struct config_int ConfigureNamesInt[] =
NULL, NULL, NULL NULL, NULL, NULL
}, },
{
{"bgwriter_flush_after", PGC_SIGHUP, WAL_CHECKPOINTS,
gettext_noop("Number of pages after which previously performed writes are flushed to disk."),
NULL,
GUC_UNIT_BLOCKS
},
&bgwriter_flush_after,
/* see bufmgr.h: 16 on Linux, 0 otherwise */
DEFAULT_BGWRITER_FLUSH_AFTER, 0, WRITEBACK_MAX_PENDING_FLUSHES,
NULL, NULL, NULL
},
{ {
{"max_worker_processes", {"max_worker_processes",
PGC_POSTMASTER, PGC_POSTMASTER,
......
...@@ -160,6 +160,8 @@ ...@@ -160,6 +160,8 @@
#bgwriter_delay = 200ms # 10-10000ms between rounds #bgwriter_delay = 200ms # 10-10000ms between rounds
#bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round #bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round
#bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round #bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round
#bgwriter_flush_after = 0 # 0 disables,
# default is 512kb on linux, 0 otherwise
# - Asynchronous Behavior - # - Asynchronous Behavior -
...@@ -168,6 +170,8 @@ ...@@ -168,6 +170,8 @@
#max_parallel_degree = 0 # max number of worker processes per node #max_parallel_degree = 0 # max number of worker processes per node
#old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate #old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate
# (change requires restart) # (change requires restart)
#backend_flush_after = 0 # 0 disables,
# default is 128kb on linux, 0 otherwise
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
...@@ -206,6 +210,8 @@ ...@@ -206,6 +210,8 @@
#max_wal_size = 1GB #max_wal_size = 1GB
#min_wal_size = 80MB #min_wal_size = 80MB
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0 #checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
#checkpoint_flush_after = 0 # 0 disables,
# default is 256kb on linux, 0 otherwise
#checkpoint_warning = 30s # 0 disables #checkpoint_warning = 30s # 0 disables
# - Archiving - # - Archiving -
......
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