mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-12 21:38:18 +02:00
Mostly for completeness, but I believe there are cases to use that in multicolumn GIN indexes. Bump btree_gin module version Author: Matheus Oliveira Reviewed by: Tomas Vondra Discussion: https://www.postgresql.org/message-id/flat/CAJghg4LMJf6Z13fnZD-MBNiGxzd0cA2=F3TDjNkX3eQH58hktQ@mail.gmail.com
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
<!-- doc/src/sgml/btree-gin.sgml -->
|
|
|
|
<sect1 id="btree-gin" xreflabel="btree_gin">
|
|
<title>btree_gin</title>
|
|
|
|
<indexterm zone="btree-gin">
|
|
<primary>btree_gin</primary>
|
|
</indexterm>
|
|
|
|
<para>
|
|
<filename>btree_gin</filename> provides sample GIN operator classes that
|
|
implement B-tree equivalent behavior for the data types
|
|
<type>int2</type>, <type>int4</type>, <type>int8</type>, <type>float4</type>,
|
|
<type>float8</type>, <type>timestamp with time zone</type>,
|
|
<type>timestamp without time zone</type>, <type>time with time zone</type>,
|
|
<type>time without time zone</type>, <type>date</type>, <type>interval</type>,
|
|
<type>oid</type>, <type>money</type>, <type>"char"</type>,
|
|
<type>varchar</type>, <type>text</type>, <type>bytea</type>, <type>bit</type>,
|
|
<type>varbit</type>, <type>macaddr</type>, <type>macaddr8</type>, <type>inet</type>,
|
|
<type>cidr</type>, <type>uuid</type>, <type>name</type>, <type>bool</type>,
|
|
<type>bpchar</type>, and all <type>enum</type> types.
|
|
</para>
|
|
|
|
<para>
|
|
In general, these operator classes will not outperform the equivalent
|
|
standard B-tree index methods, and they lack one major feature of the
|
|
standard B-tree code: the ability to enforce uniqueness. However,
|
|
they are useful for GIN testing and as a base for developing other
|
|
GIN operator classes. Also, for queries that test both a GIN-indexable
|
|
column and a B-tree-indexable column, it might be more efficient to create
|
|
a multicolumn GIN index that uses one of these operator classes than to create
|
|
two separate indexes that would have to be combined via bitmap ANDing.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>Example Usage</title>
|
|
|
|
<programlisting>
|
|
CREATE TABLE test (a int4);
|
|
-- create index
|
|
CREATE INDEX testidx ON test USING GIN (a);
|
|
-- query
|
|
SELECT * FROM test WHERE a < 10;
|
|
</programlisting>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Authors</title>
|
|
|
|
<para>
|
|
Teodor Sigaev (<email>teodor@stack.net</email>) and
|
|
Oleg Bartunov (<email>oleg@sai.msu.su</email>). See
|
|
<ulink url="http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin"></ulink>
|
|
for additional information.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|