btree_gist. Показательные классы операторов GIST#

В исходном дистрибутиве установлено по умолчанию: нет.

Связанные компоненты: отсутствуют

Схема размещения: ext

Модуль предоставляет показательные классы операторов GiST, которые реализуют поведение, подобное поведению обычных классов 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;

  • все типы enum.

Доработка#

Не проводилась.

Ограничения#

Существуют следующие ограничения:

  • классы операторов GiST не будут работать быстрее аналогичных стандартных методов индекса-B-tree;

  • нет возможности ограничивать уникальность.

Установка#

При наличии прав администратора СУБД включение модуля возможно выполнить вручную:

CREATE EXTENSION btree_gist SCHEMA ext;

Настройка#

Не требуется.

Использование модуля#

Использование btree_gist вместо btree:

CREATE TABLE test (a int4);
-- создать индекс
CREATE INDEX testidx ON test USING GIST (a);
-- запрос
SELECT * FROM test WHERE a < 10;
-- поиск ближайших соседей: найти десять записей, ближайших к "42"
SELECT *, a <-> 42 AS dist FROM test ORDER BY a <-> 42 LIMIT 10;

Ссылки на документацию разработчика:#

Дополнительно поставляемый модуль btree_gist: https://www.postgresql.org/docs/13/btree-gist.html.