Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
bcbb402e
Commit
bcbb402e
authored
Sep 18, 2006
by
Teodor Sigaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve wordings by David Fuhry <dfuhry@cs.kent.edu>
parent
18a96377
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
31 deletions
+34
-31
doc/src/sgml/config.sgml
doc/src/sgml/config.sgml
+2
-2
doc/src/sgml/gin.sgml
doc/src/sgml/gin.sgml
+19
-18
doc/src/sgml/indices.sgml
doc/src/sgml/indices.sgml
+3
-3
doc/src/sgml/mvcc.sgml
doc/src/sgml/mvcc.sgml
+7
-5
doc/src/sgml/xindex.sgml
doc/src/sgml/xindex.sgml
+3
-3
No files found.
doc/src/sgml/config.sgml
View file @
bcbb402e
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.8
7 2006/09/16 00:30:12 momjian
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.8
8 2006/09/18 12:11:36 teodor
Exp $ -->
<chapter Id="runtime-config">
<chapter Id="runtime-config">
<title>Server Configuration</title>
<title>Server Configuration</title>
...
@@ -2180,7 +2180,7 @@ SELECT * FROM parent WHERE key = 2400;
...
@@ -2180,7 +2180,7 @@ SELECT * FROM parent WHERE key = 2400;
</indexterm>
</indexterm>
<listitem>
<listitem>
<para>
<para>
Soft upper limit of the size of the
returned set
by GIN index. For more
Soft upper limit of the size of the
set returned
by GIN index. For more
information see <xref linkend="gin-tips">.
information see <xref linkend="gin-tips">.
</para>
</para>
</listitem>
</listitem>
...
...
doc/src/sgml/gin.sgml
View file @
bcbb402e
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.
3 2006/09/14 21:15:07 tgl
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/gin.sgml,v 2.
4 2006/09/18 12:11:36 teodor
Exp $ -->
<chapter id="GIN">
<chapter id="GIN">
<title>GIN Indexes</title>
<title>GIN Indexes</title>
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<para>
<para>
<acronym>GIN</acronym> stands for Generalized Inverted Index. It is
<acronym>GIN</acronym> stands for Generalized Inverted Index. It is
an index structure storing a set of (key, posting list) pairs, where
an index structure storing a set of (key, posting list) pairs, where
'posting list' is a set of rows in which the key occurs.
The
'posting list' is a set of rows in which the key occurs.
Each
row may contain many keys.
row may contain many keys.
</para>
</para>
...
@@ -104,7 +104,8 @@
...
@@ -104,7 +104,8 @@
<listitem>
<listitem>
<para>
<para>
Returns an array of keys of the query to be executed. n contains
Returns an array of keys of the query to be executed. n contains
strategy number of operation (see <xref linkend="xindex-strategies">).
the strategy number of the operation
(see <xref linkend="xindex-strategies">).
Depending on n, query may be different type.
Depending on n, query may be different type.
</para>
</para>
</listitem>
</listitem>
...
@@ -114,9 +115,9 @@
...
@@ -114,9 +115,9 @@
<term>bool consistent( bool check[], StrategyNumber n, Datum query)</term>
<term>bool consistent( bool check[], StrategyNumber n, Datum query)</term>
<listitem>
<listitem>
<para>
<para>
Returns TRUE if
indexed value satisfies query qualifier with strategy n
Returns TRUE if
the indexed value satisfies the query qualifier with
(or may satisfy in case of RECHECK mark in operator class).
strategy n
(or may satisfy in case of RECHECK mark in operator class).
Each element of the check array is TRUE if indexed value has a
Each element of the check array is TRUE if
the
indexed value has a
corresponding key in the query: if (check[i] == TRUE ) the i-th key of
corresponding key in the query: if (check[i] == TRUE ) the i-th key of
the query is present in the indexed value.
the query is present in the indexed value.
</para>
</para>
...
@@ -135,10 +136,10 @@
...
@@ -135,10 +136,10 @@
<term>Create vs insert</term>
<term>Create vs insert</term>
<listitem>
<listitem>
<para>
<para>
In most cases, insertion into <acronym>GIN</acronym> index is slow
because
In most cases, insertion into <acronym>GIN</acronym> index is slow
many GIN keys may be inserted for each table row. So, when loading data
due to the likelihood of many keys being inserted for each value.
in bulk it may be useful to drop index and recreate it
So, for bulk insertions into a table it is advisable to to drop the GIN
after the data is loaded in the table
.
index and recreate it after finishing bulk insertion
.
</para>
</para>
</listitem>
</listitem>
</varlistentry>
</varlistentry>
...
@@ -147,7 +148,7 @@
...
@@ -147,7 +148,7 @@
<term>gin_fuzzy_search_limit</term>
<term>gin_fuzzy_search_limit</term>
<listitem>
<listitem>
<para>
<para>
The primary goal of develop
ment
<acronym>GIN</acronym> indices was
The primary goal of develop
ing
<acronym>GIN</acronym> indices was
support for highly scalable, full-text search in
support for highly scalable, full-text search in
<productname>PostgreSQL</productname> and there are often situations when
<productname>PostgreSQL</productname> and there are often situations when
a full-text search returns a very large set of results. Since reading
a full-text search returns a very large set of results. Since reading
...
@@ -158,7 +159,7 @@
...
@@ -158,7 +159,7 @@
<para>
<para>
Such queries usually contain very frequent words, so the results are not
Such queries usually contain very frequent words, so the results are not
very helpful. To facilitate execution of such queries
very helpful. To facilitate execution of such queries
<acronym>GIN</acronym> has a configurable
soft upper limit of the size
<acronym>GIN</acronym> has a configurable soft upper limit of the size
of the returned set, determined by the
of the returned set, determined by the
<varname>gin_fuzzy_search_limit</varname> GUC variable. It is set to 0 by
<varname>gin_fuzzy_search_limit</varname> GUC variable. It is set to 0 by
default (no limit).
default (no limit).
...
@@ -182,16 +183,16 @@
...
@@ -182,16 +183,16 @@
<title>Limitations</title>
<title>Limitations</title>
<para>
<para>
<acronym>GIN</acronym> doesn't support full
scan of index due to it's
<acronym>GIN</acronym> doesn't support full
index scans due to their
extremely inefficiency: because
of a lot of keys per value,
extremely inefficiency: because
there are often many keys per value,
each heap pointer will returned several times.
each heap pointer will returned several times.
</para>
</para>
<para>
<para>
When extractQuery returns zero
number of keys, <acronym>GIN</acronym> will
When extractQuery returns zero
keys, <acronym>GIN</acronym> will emit a
e
mit a error: for different opclass and strategy semantic meaning of void
e
rror: for different opclasses and strategies the semantic meaning of a void
query may be different (for example, any array contains
void array,
query may be different (for example, any array contains
the void array,
but they
aren't overlapped with void one), and <acronym>GIN</acronym> can't
but they
don't overlap the void array), and <acronym>GIN</acronym> can't
suggest reasonable answer.
suggest reasonable answer.
</para>
</para>
...
...
doc/src/sgml/indices.sgml
View file @
bcbb402e
<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.6
3 2006/09/16 00:30:14 momjian
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.6
4 2006/09/18 12:11:36 teodor
Exp $ -->
<chapter id="indexes">
<chapter id="indexes">
<title id="indexes-title">Indexes</title>
<title id="indexes-title">Indexes</title>
...
@@ -248,7 +248,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
...
@@ -248,7 +248,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
<see>index</see>
<see>index</see>
</indexterm>
</indexterm>
GIN is a inverted index and it's usable for values which have more
GIN is a inverted index and it's usable for values which have more
than one key, arrays for example. Like
to
GiST, GIN may support
than one key, arrays for example. Like GiST, GIN may support
many different user-defined indexing strategies and the particular
many different user-defined indexing strategies and the particular
operators with which a GIN index can be used vary depending on the
operators with which a GIN index can be used vary depending on the
indexing strategy.
indexing strategy.
...
@@ -266,7 +266,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
...
@@ -266,7 +266,7 @@ CREATE INDEX <replaceable>name</replaceable> ON <replaceable>table</replaceable>
(See <xref linkend="functions-array"> for the meaning of
(See <xref linkend="functions-array"> for the meaning of
these operators.)
these operators.)
Another GIN operator classes are available in the <literal>contrib</>
Other GIN operator classes are available in the <literal>contrib</>
tsearch2 and intarray modules. For more information see <xref linkend="GIN">.
tsearch2 and intarray modules. For more information see <xref linkend="GIN">.
</para>
</para>
</sect1>
</sect1>
...
...
doc/src/sgml/mvcc.sgml
View file @
bcbb402e
<!-- $PostgreSQL: pgsql/doc/src/sgml/mvcc.sgml,v 2.6
1 2006/09/17 22:50:31 tgl
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/mvcc.sgml,v 2.6
2 2006/09/18 12:11:36 teodor
Exp $ -->
<chapter id="mvcc">
<chapter id="mvcc">
<title>Concurrency Control</title>
<title>Concurrency Control</title>
...
@@ -993,10 +993,12 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;
...
@@ -993,10 +993,12 @@ UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;
</term>
</term>
<listitem>
<listitem>
<para>
<para>
Short-term share/exclusive page-level locks are used for
Short-term share/exclusive page-level locks are used for
read/write access. Locks are released immediately after each
read/write access. Locks are released immediately after each
index row is fetched or inserted. However, note that a GIN index
index row is fetched or inserted. But note that a GIN-indexed
usually requires several inserts for each table row.
value insertion usually produces several index key insertions
per row, so GIN may do substantial work for a single value's
insertion.
</para>
</para>
</listitem>
</listitem>
</varlistentry>
</varlistentry>
...
...
doc/src/sgml/xindex.sgml
View file @
bcbb402e
<!-- $PostgreSQL: pgsql/doc/src/sgml/xindex.sgml,v 1.4
8 2006/09/16 00:30:16 momjian
Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/xindex.sgml,v 1.4
9 2006/09/18 12:11:36 teodor
Exp $ -->
<sect1 id="xindex">
<sect1 id="xindex">
<title>Interfacing Extensions To Indexes</title>
<title>Interfacing Extensions To Indexes</title>
...
@@ -243,8 +243,8 @@
...
@@ -243,8 +243,8 @@
</table>
</table>
<para>
<para>
GIN indexes are similar to GiST
in flexibility: it hasn't a fixed set
GIN indexes are similar to GiST
's in flexibility: they don't have a fixed
of strategies. Instead, the <quote>consistency</> support routine
et
of strategies. Instead, the <quote>consistency</> support routine
interprets the strategy numbers accordingly with operator class
interprets the strategy numbers accordingly with operator class
definition. As an example, strategies of operator class over arrays
definition. As an example, strategies of operator class over arrays
is shown in <xref linkend="xindex-gin-array-strat-table">.
is shown in <xref linkend="xindex-gin-array-strat-table">.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment