F.8. btree_gin#
F.8. btree_gin
btree_gin
предоставляет примеры классов операторов GIN, которые реализуют поведение эквивалентное B-дереву для типов данных int2
, int4
, int8
, float4
, float8
, timestamp with time zone
, timestamp without time zone
, time with time zone
, time without time zone
, date
, interval
, oid
, money
, "char"
, varchar
, text
, bytea
, bit
, varbit
, macaddr
, macaddr8
, inet
, cidr
, uuid
, name
, bool
, bpchar
и всех типов enum
.
В целом, эти классы операторов не будут превосходить эквивалентные стандартные методы индексирования B-деревьев и не обладают одной основной особенностью стандартного кода B-дерева: возможностью обеспечения уникальности. Однако они полезны для тестирования GIN и в качестве основы для разработки других классов операторов GIN. Кроме того, для запросов, которые проверяют как столбец, индексируемый GIN, так и столбец, индексируемый B-деревом, может быть более эффективно создать многоколоночный индекс GIN, который использует один из этих классов операторов, чем создать два отдельных индекса, которые должны быть объединены с помощью побитового AND.
Этот модуль считается "доверенным", то есть его можно установить
недоступным пользователям, у которых есть привилегия CREATE
в текущей базе данных.
F.8.1. Пример использования
CREATE TABLE test (a int4); -- create index CREATE INDEX testidx ON test USING GIN (a); -- query SELECT * FROM test WHERE a < 10;
F.8.2. Авторы
Федор Сигаев (<teodor@stack.net>
) и Олег Бартунов (<oleg@sai.msu.su>
). См. http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin для дополнительной информации.