btree_gist
Редактировал(а) Alexandr Fokin 2024/04/20 22:23
btree_gist https://www.postgresql.org/docs/13/btree-gist.html | |
PostgreSQL. Индексы | |
Позволяет делать индексы и ограничения (Constraint), комбинирующее внутри себя выражения на основе btree и gist индексов. | |
Ограничение уникальности | ALTER TABLE <tableName> ADD CONSTRAINT <constraintName> EXCLUDE USING gist ( <btreeColumnNName> WITH =, -- Указываем столбец для btree индекса <rangeColumnNName> WITH && -- Указываем столбец для gist индекса ) WHERE(not lower_inf(<rangeColumnNName>)) -- Пример фильтрующий индекс / ограничение ALTER TABLE <tableName> ADD CONSTRAINT <constraintName> EXCLUDE USING gist ( <btreeColumnNName> WITH =, -- Указываем столбец для btree индекса tstzrange(<startDateColumn>, <endDateColumn>, '[]') WITH && -- Указываем вычисляемое поле на основе столбцов ) WHERE(<startDateColumn> IS NOT NULL) -- Пример фильтрующий индекс / ограничение |
Индекс | CREATE INDEX <indexName> ON <tableName> USING GIST (<btreeColumnNName>, <rangeColumnNName>) -- <Where block> ; |