mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Documentation corrections for opclass parameters
Discussion: https://postgr.es/m/20200331024419.GB14618%40telsasoft.com Author: Justin Pryzby
This commit is contained in:
@ -468,13 +468,13 @@ CREATE INDEX hidx ON testhstore USING GIN (h);
|
||||
</programlisting>
|
||||
|
||||
<para>
|
||||
<literal>gist_hstore_ops</literal> GiST opclass approximates set of
|
||||
key/value pairs as a bitmap signature. Optional integer parameter
|
||||
<literal>siglen</literal> of <literal>gist_hstore_ops</literal> determines
|
||||
signature length in bytes. Default signature length is 16 bytes.
|
||||
<literal>gist_hstore_ops</literal> GiST opclass approximates a set of
|
||||
key/value pairs as a bitmap signature. Its optional integer parameter
|
||||
<literal>siglen</literal> determines the
|
||||
signature length in bytes. The default length is 16 bytes.
|
||||
Valid values of signature length are between 1 and 2024 bytes. Longer
|
||||
signatures leads to more precise search (scan less fraction of index, scan
|
||||
less heap pages), but larger index.
|
||||
signatures lead to a more precise search (scanning a smaller fraction of the index and
|
||||
fewer heap pages), at the cost of a larger index.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -265,7 +265,7 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Two parametrized GiST index operator classes are provided:
|
||||
Two parameterized GiST index operator classes are provided:
|
||||
<literal>gist__int_ops</literal> (used by default) is suitable for
|
||||
small- to medium-size data sets, while
|
||||
<literal>gist__intbig_ops</literal> uses a larger signature and is more
|
||||
@ -276,22 +276,23 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<literal>gist__int_ops</literal> approximates integer set as an array of
|
||||
integer ranges. Optional integer parameter <literal>numranges</literal> of
|
||||
<literal>gist__int_ops</literal> determines maximum number of ranges in
|
||||
one index key. Default value of <literal>numranges</literal> is 100.
|
||||
<literal>gist__int_ops</literal> approximates an integer set as an array of
|
||||
integer ranges. Its optional integer parameter <literal>numranges</literal>
|
||||
determines the maximum number of ranges in
|
||||
one index key. The default value of <literal>numranges</literal> is 100.
|
||||
Valid values are between 1 and 253. Using larger arrays as GiST index
|
||||
keys leads to more precise search (scan less fraction of index, scan less
|
||||
heap pages), but larger index.
|
||||
keys leads to a more precise search (scaning a smaller fraction of the index and
|
||||
fewer heap pages), at the cost of a larger index.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<literal>gist__intbig_ops</literal> approximates integer set as a bitmap
|
||||
signature. Optional integer parameter <literal>siglen</literal> of
|
||||
<literal>gist__intbig_ops</literal> determines signature length in bytes.
|
||||
Default signature length is 16 bytes. Valid values of signature length
|
||||
are between 1 and 2024 bytes. Longer signatures leads to more precise
|
||||
search (scan less fraction of index, scan less heap pages), but larger index.
|
||||
<literal>gist__intbig_ops</literal> approximates an integer set as a bitmap
|
||||
signature. Its optional integer parameter <literal>siglen</literal>
|
||||
determines the signature length in bytes.
|
||||
The default signature length is 16 bytes. Valid values of signature length
|
||||
are between 1 and 2024 bytes. Longer signatures lead to a more precise
|
||||
search (scanning a smaller fraction of the index and fewer heap pages), at
|
||||
the cost of a larger index.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -516,16 +516,16 @@ Europe & Russia*@ & !Transportation
|
||||
<literal>@</literal>, <literal>~</literal>, <literal>?</literal>
|
||||
</para>
|
||||
<para>
|
||||
<literal>gist_ltree_ops</literal> GiST opclass approximates set of
|
||||
path labels as a bitmap signature. Optional integer parameter
|
||||
<literal>siglen</literal> of <literal>gist_ltree_ops</literal> determines
|
||||
signature length in bytes. Default signature length is 8 bytes.
|
||||
<literal>gist_ltree_ops</literal> GiST opclass approximates a set of
|
||||
path labels as a bitmap signature. Its optional integer parameter
|
||||
<literal>siglen</literal> determines the
|
||||
signature length in bytes. The default signature length is 8 bytes.
|
||||
Valid values of signature length are between 1 and 2024 bytes. Longer
|
||||
signatures leads to more precise search (scan less fraction of index, scan
|
||||
less heap pages), but larger index.
|
||||
signatures lead to a more precise search (scanning a smaller fraction of the index and
|
||||
fewer heap pages), at the cost of a larger index.
|
||||
</para>
|
||||
<para>
|
||||
Example of creating such an index with a default signature length of 8 bytes:
|
||||
Example of creating such an index with the default signature length of 8 bytes:
|
||||
</para>
|
||||
<programlisting>
|
||||
CREATE INDEX path_gist_idx ON test USING GIST (path);
|
||||
@ -545,13 +545,13 @@ CREATE INDEX path_gist_idx ON test USING GIST (path gist_ltree_ops(siglen=100));
|
||||
<literal>@</literal>, <literal>~</literal>, <literal>?</literal>
|
||||
</para>
|
||||
<para>
|
||||
<literal>gist__ltree_ops</literal> GiST opclass works similar to
|
||||
<literal>gist__ltree_ops</literal> GiST opclass works similarly to
|
||||
<literal>gist_ltree_ops</literal> and also takes signature length as
|
||||
a parameter. Default value of <literal>siglen</literal> in
|
||||
a parameter. The default value of <literal>siglen</literal> in
|
||||
<literal>gist__ltree_ops</literal> is 28 bytes.
|
||||
</para>
|
||||
<para>
|
||||
Example of creating such an index with a default signature length of 28 bytes:
|
||||
Example of creating such an index with the default signature length of 28 bytes:
|
||||
</para>
|
||||
<programlisting>
|
||||
CREATE INDEX path_gist_idx ON test USING GIST (array_path);
|
||||
|
@ -391,13 +391,13 @@ CREATE INDEX trgm_idx ON test_trgm USING GIN (t gin_trgm_ops);
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<literal>gist_trgm_ops</literal> GiST opclass approximates set of
|
||||
trigrams as a bitmap signature. Optional integer parameter
|
||||
<literal>siglen</literal> of <literal>gist_trgm_ops</literal> determines
|
||||
signature length in bytes. Default signature length is 12 bytes.
|
||||
<literal>gist_trgm_ops</literal> GiST opclass approximates a set of
|
||||
trigrams as a bitmap signature. Its optional integer parameter
|
||||
<literal>siglen</literal> determines the
|
||||
signature length in bytes. The default length is 12 bytes.
|
||||
Valid values of signature length are between 1 and 2024 bytes. Longer
|
||||
signatures leads to more precise search (scan less fraction of index, scan
|
||||
less heap pages), but larger index.
|
||||
signatures lead to a more precise search (scanning a smaller fraction of the index and
|
||||
fewer heap pages), at the cost of a larger index.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -3670,17 +3670,17 @@ SELECT plainto_tsquery('supernovae stars');
|
||||
to check the actual table row to eliminate such false matches.
|
||||
(<productname>PostgreSQL</productname> does this automatically when needed.)
|
||||
GiST indexes are lossy because each document is represented in the
|
||||
index by a fixed-length signature. Signature length in bytes is determined
|
||||
index by a fixed-length signature. The signature length in bytes is determined
|
||||
by the value of the optional integer parameter <literal>siglen</literal>.
|
||||
Default signature length (when <literal>siglen</literal> is not specied) is
|
||||
124 bytes, maximal length is 2024 bytes. The signature is generated by hashing
|
||||
The default signature length (when <literal>siglen</literal> is not specified) is
|
||||
124 bytes, the maximum signature length is 2024 bytes. The signature is generated by hashing
|
||||
each word into a single bit in an n-bit string, with all these bits OR-ed
|
||||
together to produce an n-bit document signature. When two words hash to
|
||||
the same bit position there will be a false match. If all words in
|
||||
the query have matches (real or false) then the table row must be
|
||||
retrieved to see if the match is correct. Longer signatures leads to more
|
||||
precise search (scan less fraction of index, scan less heap pages), but
|
||||
larger index.
|
||||
retrieved to see if the match is correct. Longer signatures lead to a more
|
||||
precise search (scanning a smaller fraction of the index and fewer heap
|
||||
pages), at the cost of a larger index.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
Reference in New Issue
Block a user