diff options
-rw-r--r-- | doc/src/sgml/config.sgml | 83 | ||||
-rw-r--r-- | src/backend/utils/misc/guc.c | 2 | ||||
-rw-r--r-- | src/backend/utils/misc/postgresql.conf.sample | 3 |
3 files changed, 43 insertions, 45 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index b60240ecfe7..7bfbc871098 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1882,50 +1882,6 @@ include_dir 'conf.d' </note> </sect2> - <sect2 id="runtime-config-index-vacuum"> - <title>Index Vacuum</title> - <variablelist> - <varlistentry id="guc-vacuum-cleanup-index-scale-factor" xreflabel="vacuum_cleanup_index_scale_factor"> - <term><varname>vacuum_cleanup_index_scale_factor</varname> (<type>floating point</type>) - <indexterm> - <primary><varname>vacuum_cleanup_index_scale_factor</varname> configuration parameter</primary> - </indexterm> - </term> - <listitem> - <para> - Specifies the fraction of the total number of heap tuples counted in - the previous statistics collection that can be inserted without - incurring an index scan at the <command>VACUUM</command> cleanup stage. - This setting currently applies to B-tree indexes only. - </para> - - <para> - If no tuples were deleted from the heap, B-tree indexes are still - scanned at the <command>VACUUM</command> cleanup stage when at least one - of the following conditions is met: the index statistics are stale, or - the index contains deleted pages that can be recycled during cleanup. - Index statistics are considered to be stale if the number of newly - inserted tuples exceeds the <varname>vacuum_cleanup_index_scale_factor</varname> - fraction of the total number of heap tuples detected by the previous - statistics collection. The total number of heap tuples is stored in - the index meta-page. Note that the meta-page does not include this data - until <command>VACUUM</command> finds no dead tuples, so B-tree index - scan at the cleanup stage can only be skipped if the second and - subsequent <command>VACUUM</command> cycles detect no dead tuples. - </para> - - <para> - The value can range from <literal>0</literal> to <literal>100</literal>. - When <varname>vacuum_cleanup_index_scale_factor</varname> is set to - <literal>0</literal>, index scans are never skipped during - <command>VACUUM</command> cleanup. The default value is <literal>0.1</literal>. - </para> - - </listitem> - </varlistentry> - </variablelist> - </sect2> - <sect2 id="runtime-config-resource-background-writer"> <title>Background Writer</title> @@ -7003,6 +6959,45 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; </listitem> </varlistentry> + <varlistentry id="guc-vacuum-cleanup-index-scale-factor" xreflabel="vacuum_cleanup_index_scale_factor"> + <term><varname>vacuum_cleanup_index_scale_factor</varname> (<type>floating point</type>) + <indexterm> + <primary><varname>vacuum_cleanup_index_scale_factor</varname> configuration parameter</primary> + </indexterm> + </term> + <listitem> + <para> + Specifies the fraction of the total number of heap tuples counted in + the previous statistics collection that can be inserted without + incurring an index scan at the <command>VACUUM</command> cleanup stage. + This setting currently applies to B-tree indexes only. + </para> + + <para> + If no tuples were deleted from the heap, B-tree indexes are still + scanned at the <command>VACUUM</command> cleanup stage when at least one + of the following conditions is met: the index statistics are stale, or + the index contains deleted pages that can be recycled during cleanup. + Index statistics are considered to be stale if the number of newly + inserted tuples exceeds the <varname>vacuum_cleanup_index_scale_factor</varname> + fraction of the total number of heap tuples detected by the previous + statistics collection. The total number of heap tuples is stored in + the index meta-page. Note that the meta-page does not include this data + until <command>VACUUM</command> finds no dead tuples, so B-tree index + scan at the cleanup stage can only be skipped if the second and + subsequent <command>VACUUM</command> cycles detect no dead tuples. + </para> + + <para> + The value can range from <literal>0</literal> to <literal>100</literal>. + When <varname>vacuum_cleanup_index_scale_factor</varname> is set to + <literal>0</literal>, index scans are never skipped during + <command>VACUUM</command> cleanup. The default value is <literal>0.1</literal>. + </para> + + </listitem> + </varlistentry> + <varlistentry id="guc-bytea-output" xreflabel="bytea_output"> <term><varname>bytea_output</varname> (<type>enum</type>) <indexterm> diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index fa3c8a79050..859ef931e71 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -3248,7 +3248,7 @@ static struct config_real ConfigureNamesReal[] = }, { - {"vacuum_cleanup_index_scale_factor", PGC_USERSET, AUTOVACUUM, + {"vacuum_cleanup_index_scale_factor", PGC_USERSET, CLIENT_CONN_STATEMENT, gettext_noop("Number of tuple inserts prior to index cleanup as a fraction of reltuples."), NULL }, diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index f43086f6d06..9e39baf4668 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -575,6 +575,9 @@ #vacuum_freeze_table_age = 150000000 #vacuum_multixact_freeze_min_age = 5000000 #vacuum_multixact_freeze_table_age = 150000000 +#vacuum_cleanup_index_scale_factor = 0.1 # fraction of total number of tuples + # before index cleanup, 0 always performs + # index cleanup #bytea_output = 'hex' # hex, escape #xmlbinary = 'base64' #xmloption = 'content' |