Rename pending_list_cleanup_size to gin_pending_list_limit.

Since this parameter is only for GIN index, it's better to
add "gin" to the parameter name for easier understanding.
This commit is contained in:
Fujii Masao 2014-11-13 12:14:48 +09:00
parent 677708032c
commit c291503b1c
13 changed files with 23 additions and 23 deletions

View File

@ -5911,10 +5911,10 @@ SET XML OPTION { DOCUMENT | CONTENT };
</listitem>
</varlistentry>
<varlistentry id="guc-pending-list-cleanup-size" xreflabel="pending_list_cleanup_size">
<term><varname>pending_list_cleanup_size</varname> (<type>integer</type>)
<varlistentry id="guc-gin-pending-list-limit" xreflabel="gin_pending_list_limit">
<term><varname>gin_pending_list_limit</varname> (<type>integer</type>)
<indexterm>
<primary><varname>pending_list_cleanup_size</> configuration parameter</primary>
<primary><varname>gin_pending_list_limit</> configuration parameter</primary>
</indexterm>
</term>
<listitem>

View File

@ -729,7 +729,7 @@
<acronym>GIN</> is capable of postponing much of this work by inserting
new tuples into a temporary, unsorted list of pending entries.
When the table is vacuumed, or if the pending list becomes larger than
<xref linkend="guc-pending-list-cleanup-size">, the entries are moved to the
<xref linkend="guc-gin-pending-list-limit">, the entries are moved to the
main <acronym>GIN</acronym> data structure using the same bulk insert
techniques used during initial index creation. This greatly improves
<acronym>GIN</acronym> index update speed, even counting the additional
@ -812,22 +812,22 @@
</varlistentry>
<varlistentry>
<term><xref linkend="guc-pending-list-cleanup-size"></term>
<term><xref linkend="guc-gin-pending-list-limit"></term>
<listitem>
<para>
During a series of insertions into an existing <acronym>GIN</acronym>
index that has <literal>fastupdate</> enabled, the system will clean up
the pending-entry list whenever the list grows larger than
<varname>pending_list_cleanup_size</>. To avoid fluctuations in observed
<varname>gin_pending_list_limit</>. To avoid fluctuations in observed
response time, it's desirable to have pending-list cleanup occur in the
background (i.e., via autovacuum). Foreground cleanup operations
can be avoided by increasing <varname>pending_list_cleanup_size</>
can be avoided by increasing <varname>gin_pending_list_limit</>
or making autovacuum more aggressive.
However, enlarging the threshold of the cleanup operation means that
if a foreground cleanup does occur, it will take even longer.
</para>
<para>
<varname>pending_list_cleanup_size</> can be overridden for individual
<varname>gin_pending_list_limit</> can be overridden for individual
GIN indexes by changing storage parameters, and which allows each
GIN index to have its own cleanup threshold.
For example, it's possible to increase the threshold only for the GIN

View File

@ -371,10 +371,10 @@ CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] <replaceable class=
</variablelist>
<variablelist>
<varlistentry>
<term><literal>pending_list_cleanup_size</></term>
<term><literal>gin_pending_list_limit</></term>
<listitem>
<para>
Custom <xref linkend="guc-pending-list-cleanup-size"> parameter.
Custom <xref linkend="guc-gin-pending-list-limit"> parameter.
This value is specified in kilobytes.
</para>
</listitem>

View File

@ -218,7 +218,7 @@ static relopt_int intRelOpts[] =
},
{
{
"pending_list_cleanup_size",
"gin_pending_list_limit",
"Maximum size of the pending list for this GIN index, in kilobytes.",
RELOPT_KIND_GIN
},

View File

@ -26,7 +26,7 @@
#include "utils/rel.h"
/* GUC parameter */
int pending_list_cleanup_size = 0;
int gin_pending_list_limit = 0;
#define GIN_PAGE_FREESIZE \
( BLCKSZ - MAXALIGN(SizeOfPageHeaderData) - MAXALIGN(sizeof(GinPageOpaqueData)) )
@ -426,7 +426,7 @@ ginHeapTupleFastInsert(GinState *ginstate, GinTupleCollector *collector)
* call it when it can do all the work in a single collection cycle. In
* non-vacuum mode, it shouldn't require maintenance_work_mem, so fire it
* while pending list is still small enough to fit into
* pending_list_cleanup_size.
* gin_pending_list_limit.
*
* ginInsertCleanup() should not be called inside our CRIT_SECTION.
*/

View File

@ -526,7 +526,7 @@ ginoptions(PG_FUNCTION_ARGS)
int numoptions;
static const relopt_parse_elt tab[] = {
{"fastupdate", RELOPT_TYPE_BOOL, offsetof(GinOptions, useFastUpdate)},
{"pending_list_cleanup_size", RELOPT_TYPE_INT, offsetof(GinOptions,
{"gin_pending_list_limit", RELOPT_TYPE_INT, offsetof(GinOptions,
pendingListCleanupSize)}
};

View File

@ -2543,12 +2543,12 @@ static struct config_int ConfigureNamesInt[] =
},
{
{"pending_list_cleanup_size", PGC_USERSET, CLIENT_CONN_STATEMENT,
{"gin_pending_list_limit", PGC_USERSET, CLIENT_CONN_STATEMENT,
gettext_noop("Sets the maximum size of the pending list for GIN index."),
NULL,
GUC_UNIT_KB
},
&pending_list_cleanup_size,
&gin_pending_list_limit,
4096, 64, MAX_KILOBYTES,
NULL, NULL, NULL
},

View File

@ -519,7 +519,7 @@
#bytea_output = 'hex' # hex, escape
#xmlbinary = 'base64'
#xmloption = 'content'
#pending_list_cleanup_size = 4MB
#gin_pending_list_limit = 4MB
# - Locale and Formatting -

View File

@ -1172,7 +1172,7 @@ psql_completion(const char *text, int start, int end)
pg_strcasecmp(prev_wd, "(") == 0)
{
static const char *const list_INDEXOPTIONS[] =
{"fillfactor", "fastupdate", "pending_list_cleanup_size", NULL};
{"fillfactor", "fastupdate", "gin_pending_list_limit", NULL};
COMPLETE_WITH_LIST(list_INDEXOPTIONS);
}

View File

@ -67,7 +67,7 @@ typedef char GinTernaryValue;
/* GUC parameters */
extern PGDLLIMPORT int GinFuzzySearchLimit;
extern int pending_list_cleanup_size;
extern int gin_pending_list_limit;
/* ginutil.c */
extern void ginGetStats(Relation index, GinStatsData *stats);

View File

@ -326,7 +326,7 @@ typedef struct GinOptions
((relation)->rd_options && \
((GinOptions *) (relation)->rd_options)->pendingListCleanupSize != -1 ? \
((GinOptions *) (relation)->rd_options)->pendingListCleanupSize : \
pending_list_cleanup_size)
gin_pending_list_limit)
/* Macros for buffer lock/unlock operations */

View File

@ -2244,14 +2244,14 @@ DROP TABLE array_gin_test;
-- Test GIN index's reloptions
--
CREATE INDEX gin_relopts_test ON array_index_op_test USING gin (i)
WITH (FASTUPDATE=on, PENDING_LIST_CLEANUP_SIZE=128);
WITH (FASTUPDATE=on, GIN_PENDING_LIST_LIMIT=128);
\d+ gin_relopts_test
Index "public.gin_relopts_test"
Column | Type | Definition | Storage
--------+---------+------------+---------
i | integer | i | plain
gin, for table "public.array_index_op_test"
Options: fastupdate=on, pending_list_cleanup_size=128
Options: fastupdate=on, gin_pending_list_limit=128
--
-- HASH

View File

@ -658,7 +658,7 @@ DROP TABLE array_gin_test;
-- Test GIN index's reloptions
--
CREATE INDEX gin_relopts_test ON array_index_op_test USING gin (i)
WITH (FASTUPDATE=on, PENDING_LIST_CLEANUP_SIZE=128);
WITH (FASTUPDATE=on, GIN_PENDING_LIST_LIMIT=128);
\d+ gin_relopts_test
--