btree_gin. Показательные классы операторов GIN#
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты: отсутствуют.
Схема размещения:
ext.
Модуль предоставляет показательные классы операторов 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).
Классы расширения btree_gin можно применять для тестирования операторов GIN или взять их за основу для разработки других операторов. Для запросов, где проверяются столбцы с индексом GIN и индексом-B-деревом, может быть эффективней реализовать составной индекс GIN, а не использовать два отдельных индекса.
Доработка#
Не проводилась.
Ограничения#
Существуют следующие ограничения:
классы операторов
GINне будут работать быстрее аналогичных стандартных методов индекса-B-tree;нет возможности ограничивать уникальность.
Установка#
Расширение могут устанавливать пользователи, имеющие право CREATE в текущей базе данных:
CREATE EXTENSION btree_gin SCHEMA ext;
Настройка#
Не требуется.
Использование модуля#
Использование btree_gin вместо btree:
CREATE TABLE test (a int4);
-- создать индекс
CREATE INDEX testidx ON test USING GIN (a);
-- запрос
SELECT * FROM test WHERE a < 10;
Ссылки на документацию разработчика:#
Дополнительно поставляемый модуль btree_gin: https://www.postgresql.org/docs/13/btree-gin.html.